Fastjson解析JSON常用方法

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());
    }
}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值