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