fastjson 複雜json 序列化、反序列化
阿新 • • 發佈:2019-01-06
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());
}
}
}
}