FastJson是阿里巴巴开源的一个Json处理工具包,包括“序列化”和“反序列化”两部分。

测试表明,fastjson具有极快的性能,超越任其他的Java Json parser。包括自称最快的JackJson,功能强大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;无依赖,能够直接运行在Java SE 5.0以上版本;支持Android;开源 (Apache 2.0)


FastJson 说明:https://github.com/Alibaba/fastjson/wiki/%E9%A6%96%E9%A1%B5

注意:FastJson有分Java版本和Android版本的,不要弄错了,很多博客上都没提及这一点

android FastJson jar 下载地址:https://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.11/fastjson-1.2.11.jar


将该jar包拷贝到项目的libs目录下,android会自动引用


FastJson中的常用方法:

public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray 
public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject    
public static final  T parseObject(String text, Class clazz); // 把JSON文本parse为JavaBean 
public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray 
public static final  List parseArray(String text, Class clazz); //把JSON文本parse成JavaBean集合 
public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本 
public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本 
public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。

1、Person.java

class Person {//姓名private String name = null;//年龄private int age = 0;//是否为男性private boolean isMale = true;//孩子的姓名private List childName = new ArrayList();public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public boolean isMale() {return isMale;}public void setMale(boolean isMale) {this.isMale = isMale;}public List getChildName() {return childName;}public void setChildName(List childName) {this.childName = childName;}public void init() {name = "Bob";age = 25;isMale = true;childName.add("Tina");childName.add("Linda");childName.add("Tom");}@Overridepublic String toString() {String str = "姓名: " + name + ", 年龄: " + age + ", 性别: " + (isMale?"男性":"女性") + "\n";if(childName != null && childName.size() != 0) {str = str + "孩子个数: " + childName.size() + "\n";for(int i=0;i
2、activity_fastjson.xml 就一个TextView用来显示结果

3、FastjsonActivity.java

public class FastjsonActivity extends Activity {public TextView textView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_fastjson);textView = (TextView) findViewById(R.id.textview);Person person = new Person();person.init();//(1)JSONObject personObject = (JSONObject) JSON.toJSON(person);addText(personObject.toString());//(2)String personStr = JSON.toJSONString(person);addText(personStr);//(3)person = JSON.parseObject(personStr, Person.class);addText(person.toString());//(4)String jsonArrStr = "[\"a\", \"b\", \"c\", \"d\"]";JSONArray jsonArr = JSON.parseArray(jsonArrStr);addText(jsonArr.toString());//(5)List strlist = JSON.parseArray(jsonArrStr, String.class);addText(strlist.toString());}public void addText(String str) {textView.setText(textView.getText().toString() + str + "\n");}}
输出结果:

{“childName”:["Tina","Linda","Tom"],"name":"bob","age":25,"isMale":true}

{"age":25,"childName":["Tina","Linda","Tom"],"isMale":true,"name":"Bob"}

姓名: Bob, 年龄: 25, 性别: 男性

孩子个数: 3

0. Tina

1. Linda

2. Tom


["a","b","c","d"]

[a,b,c,d]

更多相关文章

  1. android 手势屏幕平移图片转换效果(也可以平移文本)
  2. Android UI 与文本相关的控件
  3. 开源的Android富文本编辑器
  4. Android——文本类控件
  5. TextView如何高亮显示文本
  6. android最简单的发送文本短信的demo
  7. Android 获取联系人姓名与电话号码
  8. Android 获取Contacts 联系人 姓名 号码 照片信息
  9. Android滚动显示TXT中文文本

随机推荐

  1. android 显示特殊符号
  2. 第一行代码 Android(安卓)第 2 版 读书笔
  3. Android高手应该精通哪些内容?(转)
  4. Android ADT安装时卡在Calculating requi
  5. Android(安卓)查看pdf文档——PDFView
  6. Android上dip、dp、px、sp等单位说明
  7. Android菜鸟笔记-实现自动连接到指定的Wi
  8. Android layout系列-autolayout
  9. 升级 Android Studio 3.2.1 后出现的一些
  10. [Android]res下面layout增加子文件夹