您的位置:首页 > Web前端 > JavaScript

Fastjson解析JSON常用方法

2014-06-30 21:30 671 查看
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 {
@Test
public 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());
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  JSON FastJson JSONObject