阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:
速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser。包括自称最快的JackJson;
功能强大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;无依赖,能够直接运行在Java SE 5.0以上版本;支持Android;开源 (Apache 2.0)
源码地址:https://github.com/alibaba/fastjson
Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。
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。
maven:
???<!-- https://mvnrepository.com/artifact/net.sf.json-lib/json-lib --> ???????<dependency> ???????????<groupId>net.sf.json-lib</groupId> ???????????<artifactId>json-lib</artifactId> ???????????<version>2.4</version> ???????????<classifier>jdk15</classifier> ???????</dependency> ???????<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> ???????<dependency> ???????????<groupId>com.alibaba</groupId> ???????????<artifactId>fastjson</artifactId> ???????????<version>1.2.31</version> ???????</dependency>
一般只用第二个fastjson就可以
demo:
import com.alibaba.fastjson.JSON;import java.util.ArrayList;import java.util.List;public class fastjson { ???public static void main(String[] args) { ???????Group group = new Group(); ???????group.setId(0L); ???????group.setName("admin"); ???????User guestUser = new User(); ???????guestUser.setId(2L); ???????guestUser.setName("guest"); ???????User rootUser = new User(); ???????rootUser.setId(3L); ???????rootUser.setName("root"); ???????group.getUsers().add(guestUser); ???????group.getUsers().add(rootUser); ???????String jsonString = JSON.toJSONString(group); ???????System.out.println(jsonString); ???????Group group2 = JSON.parseObject(jsonString, Group.class); ???}}class User { ???private Long id; ???private String name; ???public Long getId() { return id; } ???public void setId(Long id) { this.id = id; } ???public String getName() { return name; } ???public void setName(String name) { this.name = name; }}class Group { ???private Long id; ???private String name; ???private List<User> users = new ArrayList<User>(); ???public Long getId() { return id; } ???public void setId(Long id) { this.id = id; } ???public String getName() { return name; } ???public void setName(String name) { this.name = name; } ???public List<User> getUsers() { return users; } ???public void setUsers(List<User> users) { this.users = users; }}
output:
{"id":0,"name":"admin","users":[{"id":2,"name":"guest"},{"id":3,"name":"root"}]}
http://blog.csdn.net/glarystar/article/details/6654494
fastjson 简单使用
原文地址:http://www.cnblogs.com/hongdada/p/7779502.html