List<TestDTO> testdata = new ArrayList<TestDTO>() {
{
add(new TestDTO() {
{
setName("测试1");
setSex(1);
setAge(11);
}
});
add(new TestDTO() {
{
setName("测试3");
setSex(1);
setAge(11);
}
});
add(new TestDTO() {
{
setName("测试2");
setSex(0);
setAge(11);
}
});
add(new TestDTO() {
{
setName("测试4");
setSex(0);
setAge(11);
}
});
}
};
@GetMapping("testcollections")
public AjaxResult TestCollections() {
List<TestDTO> testdata1 =new ArrayList<>();
testdata1.add(new TestDTO("测试1",0,11));
testdata1.add(new TestDTO("测试2",1,11));
Gson g = new GsonBuilder().serializeNulls().create();
String str = g.toJson(testdata);
String str2 = g.toJson(testdata1);
String str1= JSONObject.toJSONString(testdata);
return new AjaxResult(testdata);
}
测试结果如下:
查阅资料发现,Gson 不支持该初始化方法(双大括号初始化(double brace initialization)或者匿名内部类初始化法):Gson doesn't support serializing anonymous types.
参考文档:https://stackoverflow.com/questions/39538677/why-does-gson-tojson-always-return-null