【发布时间】:2016-01-18 16:26:03
【问题描述】:
我有以下课程:
public class MyProperty
{
public String Key;
public String Value;
}
public class MyModel
{
public String Name;
public List<MyProperty> Properties;
}
当我尝试像这样序列化MyObject 类型的对象时:
MyModel m = new MyModel(){{
Name="aaaa";
Properties = new ArrayList<MyProperty>();
}};
m.Properties = new ArrayList<MyProperty>();
m.Properties.add(new MyProperty() {{ Key="a"; Value="1"; }});
m.Properties.add(new MyProperty() {{ Key="b"; Value="11"; }});
m.Properties.add(new MyProperty() {{ Key="c"; Value="111"; }});
String json1 = g.toJson(m, MyModel.class);
我得到以下结果:
{"Name":"aaaa","Properties":[null,null,null]}
为什么当源对象肯定不为空时,属性列表被序列化为空列表?
字符串的反序列化
{"Name":"aaaa","Properties":[{"Key":"a","Value":"1" etc }]}
工作正常。
【问题讨论】: