Java的Json解析包FastJson使用
阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:
速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser。包括自称最快的JackJson;
功能强大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;无依赖,能够直接运行在Java SE 5.0以上版本;支持Android;开源 (Apache 2.0)
源码地址:https://github.com/alibaba/fastjson
Maven
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.54</version>
</dependency>
Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。
*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。
package bean;
public class ClassToJson {
private int age;
private String name;
public ClassToJson(int age, String name) {
this.age = age;
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public static void main(String[] args) {
ClassToJson classTJ=new ClassToJson(15,"刘诗诗");
List<ClassToJson> list=new ArrayList<ClassToJson>();
list.add(classTJ);
list.add(new ClassToJson(18,"Stephen"));
//将集合或者对象序例化成JSON
JSON json= (JSON) JSON.toJSON(list);
System.out.println(json);
System.out.println(JSON.toJSON(list));
System.out.println(JSON.toJSON(classTJ));
System.out.println(JSON.toJSONString(list));
System.out.println(JSON.toJSONString(classTJ));
}