1. 程式人生 > >fastjson 複雜json 序列化、反序列化

fastjson 複雜json 序列化、反序列化

getB_list() { return b_list; } public void setB_list(List b_list) { this.b_list = b_list; } public List getC_list() { return c_list; } public void setC_list(List c_list) { this.c_list = c_list; } } package com.jsonobj; import java.util.ArrayList; import java.util.Date; import java.util.List; public class B { private Integer id; private Long number; private Boolean checked; private String name; private Date create_time; private List c_list; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Long getNumber() { return number; } public void setNumber(Long number) { this.number = number; } public Boolean getChecked() { return checked; } public void setChecked(Boolean checked) { this.checked = checked; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getCreate_time() { return create_time; } public void setCreate_time(Date create_time) { this.create_time = create_time; } public List getC_list() { return c_list; } public void setC_list(List c_list) { this.c_list = c_list; } public void addC(C c) { if (this.c_list == null) { this.c_list = new ArrayList(); } c_list.add(c); } } package com.jsonobj; import java.util.Date; import java.util.List; import java.util.Map; public class C { private Integer id; private Long number; private Boolean checked; private String name; private Date create_time; private Map> m_list; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Long getNumber() { return number; } public void setNumber(Long number) { this.number = number; } public Boolean getChecked() { return checked; } public void setChecked(Boolean checked) { this.checked = checked; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getCreate_time() { return create_time; } public void setCreate_time(Date create_time) { this.create_time = create_time; } public Map> getM_list() { return m_list; } public void setM_list(Map> m_list) { this.m_list = m_list; } } /** * @Title: JsonTest.java * @Package com.jsonobj * @Description: TODO(用一句話描述該檔案做什麼) * @author Aaron·Li * @date 2017年5月22日 下午2:45:24 * @version V1.0 */ package com.jsonobj; import java.util.ArrayList; import java.util.Date; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializerFeature; /** * @author Aaron·Li * @date 2017年5月22日 下午2:45:24 */ public class JsonTest { /** * @param args */ public static void main(String[] args) { A a = new A(); a.setId(1); a.setName("A"); a.setNumber(2L); a.setChecked(false); a.setCreate_time(new Date()); B b = new B(); b.setId(2); b.setName("B"); b.setNumber(3L); b.setChecked(false); b.setCreate_time(new Date()); C c = new C(); a.setB(b); a.setC(c); for (int i = 0; i < 1; i++) { C cc = new C(); cc.setId(i + 2); cc.setName("C" + i); cc.setNumber(3L + i); cc.setChecked(false); cc.setCreate_time(new Date()); Map> m=new LinkedHashMap<>(); List cList=new ArrayList<>(); C cccc = new C(); cccc.setId(i + 22); cccc.setName("CC" + i); cccc.setNumber(3L + i); cccc.setChecked(false); cccc.setCreate_time(new Date()); cList.add(cccc); m.put("m"+i, cList); cc.setM_list(m); b.addC(cc); B bb = new B(); bb.setId(i + 1); bb.setName("B" + i); bb.setNumber(3L + i); bb.setChecked(false); bb.setCreate_time(new Date()); a.addB(bb); a.addC(cc); } String jsonA = JSON.toJSONString(a, SerializerFeature.WRITE_MAP_NULL_FEATURES, SerializerFeature.DisableCircularReferenceDetect); System.err.println(jsonA); //jsonA = "{\"b\":{\"c_list\":[],\"checked\":false,\"test\":null,\"create_time\":1495438825978,\"id\":2,\"name\":\"B\",\"number\":3},\"b_list\":[{\"c_list\":null,\"checked\":false,\"create_time\":1495438825978,\"id\":1,\"name\":\"B0\",\"number\":3}],\"c\":{\"checked\":null,\"create_time\":null,\"id\":null,\"name\":null,\"number\":null},\"c_list\":[{\"checked\":false,\"create_time\":1495438825978,\"id\":2,\"name\":\"C0\",\"number\":3}],\"checked\":false,\"create_time\":1495438825977,\"id\":1,\"name\":\"A\",\"number\":2}"; A a2 = new A(); a2 = JSON.parseObject(jsonA, A.class); System.out.println(a2); if (a2.getB() != null && a2.getB().getC_list() != null) { for (int i = 0; i < a2.getB().getC_list().size(); i++) { C ccc = a2.getB().getC_list().get(i); System.out.println(ccc.getNumber()); } } } }