JSON 之FastJson解析

来源:互联网 发布:蓝牙测试软件 编辑:程序博客网 时间:2024/04/19 14:56

1. 怎么获得fastjson?

你可以通过如下地方下载fastjson:

  • Alibaba开源下载:http://code.alibabatech.com/mvn/releases/com/alibaba/fastjson/
  • maven中央仓库: http://central.maven.org/maven2/com/alibaba/fastjson/
  • Sourceforge.net : https://sourceforge.net/projects/fastjson/files/

  • 在maven中如何配置fastjson依赖 fastjson最新版本都会发布到maven中央仓库,你可以直接依赖。 com.alibabafastjsonx.x.x 其中x.x.x不是具体的版本好,最新版本你通过fastjson的首页( https://github.com/alibaba/fastjson/wiki)获得。

2. fastjson主要的API哪些?

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。



3. 哪里找fastjson的使用例子

例子地址:https://github.com/alibaba/fastjson/wiki/Samples-DataBind

encode:

import com.alibaba.fastjson.JSON;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);

decode

{"id":0,"name":"admin","users":[{"id":2,"name":"guest"},{"id":3,"name":"root"}]}String jsonString = ...;Group group = JSON.parseObject(jsonString, Group.class);

group.java

public 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;    }}


User.java

public 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;    }}


0 0