1. 程式人生 > >fastjson實現json資料與物件, 集合之間的轉換

fastjson實現json資料與物件, 集合之間的轉換

fastjson是阿里巴巴開源的用於處理json格式資料的工具.

 

使用fastjson需要引入第三方jar包:

實體類Product類和前面Gson解析資料時一致,此處不再上程式碼.

package Exercise1_fastjson;

import java.util.List;

import com.alibaba.fastjson.JSON;
/**
 * @author huangxinyi
 * Fastjson實現json與物件,json與集合的相互轉換
 * 
 */
public class Test {
	@org.junit.Test
	public void test() {
		
		String jsonlist = "[{\"brand\":\"聯想\",\"type\":\"電腦\",\"color\":\"白色\",\"price\":\"3000\"}"+
				"{\"brand\":\"小米\",\"type\":\"手機\",\"color\":\"黑色\",\"price\":\"2500\"}"+
                "{\"brand\":\"華為\",\"type\":\"手機\",\"color\":\"白色\",\"price\":\"2000\"}"+
                "{\"brand\":\"戴爾\",\"type\":\"電腦\",\"color\":\"藍色\",\"price\":\"4000\"}"+
                "{\"brand\":\"蘋果\",\"type\":\"手機\",\"color\":\"紅色\",\"price\":\"5000\"}]";
		
		Product p = new Product("華為","手機","黑色",4000);
		//測試物件轉json
		System.out.println(JSON.toJSONString(p));
		
		//測試json轉物件
		System.out.println(jsonToPro(JSON.toJSONString(p)));
		String pjson = "{\"brand\":\"聯想\",\"type\":\"電腦\",\"color\":\"白色\",\"price\":\"3000\"}";
		System.out.println(jsonToPro(pjson));
		
		//測試json轉集合
		System.out.println(jsonToList(jsonlist));
		
		//測試集合轉json
		System.out.println(listToJson(jsonToList(jsonlist)));
		
	}
	
	//物件轉json
	private String proToJson(Product p){
		return JSON.toJSONString(p);
	}
	
	//json轉物件
	private Product jsonToPro(String json){
		return JSON.parseObject(json, Product.class);
	}
	
	//集合轉json
	private String listToJson(List<Product> plist){
		return JSON.toJSONString(plist);
	}
	
	//json轉集合
	private List<Product> jsonToList(String jsonlist){
		return JSON.parseArray(jsonlist, Product.class);
	}
	
}