Fastjson解析JSON常用方法

来源:互联网 发布:盘古网络招聘长春地区 编辑:程序博客网 时间:2024/04/30 04:36

Fastjson是一个Java语言编写的JSON处理器,由阿里巴巴公司开发。功能很强大,在开发中可以对JSON数据进行很好的处理。

常用的方法如下:

   // 将JavaBean序列化为JSON文本
    public static final String toJSONString(Object object); 


   // 将JavaBean序列化为带格式的JSON文本
    public static final String toJSONString(Object object, boolean prettyFormat); 


    //将JavaBean转换为JSONObject或者JSONArray。
    public static final Object toJSON(Object javaObject); 


   //把JSON文本parse成JSONArray
    public static final JSONArray parseArray(String text); 


    //把JSON文本parse成JavaBean集合
    public static final <T> List<T> parseArray(String text, Class<T> clazz);


    // 把JSON文本parse成JSONObject
    public static final JSONObject parseObject(String text); 


   // 把JSON文本parse为JavaBean
    public static final <T> T parseObject(String text, Class<T> clazz); 


    // 把JSON文本parse为JSONObject或者JSONArray
    public static final Object parse(String text); 


案例如下:

涉及到两个类,User,Group.

import java.util.List;import org.junit.Test;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;public class TestJSON {@Testpublic void test1(){User user = new User();user.setId(1);user.setName("zhang");Group group = new Group();group.setGroupId(2);group.setGroupName("groupName");group.getListUser().add(user);/** *将JavaBean序列化为JSON文本 * public static final String toJSONString(Object object);  * result:{"groupId":2,"groupName":"groupName","listUser":[{"id":1,"name":"zhang"}]} * 将JavaBean序列化为带格式的JSON文本 * public static final String toJSONString(Object object, boolean prettyFormat) */String objToStr = JSON.toJSONString(group);String objToStrWithFormat = JSON.toJSONString(group,true);/** * 将JavaBean转换为JSONObject或者JSONArray * public static final Object toJSON(Object javaObject); */    JSONObject jsonObjectGroup = (JSONObject) JSON.toJSON(group);        /**     * 把JSON文本parse成JSONArray     * public static final JSONArray parseArray(String text);      * 把JSON文本parse成JavaBean集合     * public static final <T> List<T> parseArray(String text, Class<T> clazz);     */    JSONArray jsonArray = JSON.parseArray(jsonObjectGroup.get("listUser").toString());    List<User>  users = JSON.parseArray(jsonObjectGroup.get("listUser").toString(), User.class);    for(User u : users){    System.out.println(u.getName());    }}}



0 0