fastjson實現json資料與物件, 集合之間的轉換
阿新 • • 發佈:2018-11-11
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); } }