fastjson 复杂json 序列化、反序列化
来源:互联网 发布:淘宝个体工商户 编辑:程序博客网 时间:2024/06/14 08:10
package com.jsonobj;import java.util.ArrayList;import java.util.Date;import java.util.List;public class A {private Integer id;private Long number;private Boolean checked;private String name;private Date create_time;private B b;private C c;private List b_list;private Listc_list;public void addB(B b) {if (b_list == null) {b_list = new ArrayList();}b_list.add(b);}public void addC(C c) {if (this.c_list == null) {this.c_list = new ArrayList ();}c_list.add(c);}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 B getB() {return b;}public void setB(B b) {this.b = b;}public C getC() {return c;}public void setC(C c) {this.c = c;}public List 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());}}}}
阅读全文
0 0
- fastjson 复杂json 序列化、反序列化
- FastJson实现复杂对象序列化与反序列化
- java序列化(三)之FastJson实现复杂对象序列化与反序列化
- fastjson反序列化
- fastjson生成和解析json数据,序列化和反序列化数据
- fastjson生成和解析json数据,序列化和反序列化数据
- fastjson生成和解析json数据,序列化和反序列化数据
- fastjson生成和解析json数据,序列化和反序列化数据
- fastjson生成和解析json数据,序列化和反序列化数据
- fastjson生成和解析json数据,序列化和反序列化数据
- fastjson生成和解析json数据,序列化和反序列化数据
- Android 中的Json解析工具fastjson 、序列化、反序列化
- JSON序列化、JSON反序列化
- 使用Fastjson序列化与反序列化对象
- FastJson解析实例--对象序列化和反序列化
- Json序列化 与反序列化
- JSON序列化与反序列化
- JSON序列化与反序列化
- Hazelcast集群服务(2)——Hazelcast基本配置
- 方法锁、对象锁和类锁区别
- 使用mina实现Android长连接
- Kotlin在AS中的配置使用
- 总结一下:after和:before的一下知识点
- fastjson 复杂json 序列化、反序列化
- 软件设计目标—正确性
- SnackDown Online Qualifier 2017 | Same Snake
- foreach循环
- 深入分析PHP PDO配置及使用方法
- codes51竟然抓取CSDN博客中作者的文章篡改
- 面试笔试准备(3)选择算法
- HDU 4725(最短路之建图难点)
- android studio导入项目出错:Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger