Java对象List<对象>转JSON的异常
@Data
@Accessors(fluent = true)
public class A {
private String id;
private List<B> b;
}
@Data
@Accessors(fluent = true)
public class B {
private String name;
private String type;
}
利用fastJson转换一下JSONObject , 用来统一对接数据
JSONObject toJSON = (JSONObject) JSONObject.toJSON(response);
然后发现返回的结果中全都是空的 , 连id都没有转换过来 , 然后就想是不是fastJson对于包含List<对象>转换有限制
于是 , 更换hutool工具类中的JSONUtil来转换 , 依旧无法转换
好吧,,,既然不让我带List , 那我List单独转然后再重新组装
JSONArray toJSON = (JSONArray) JSONArray.toJSON(list);
发现单独转List依旧是无法转换成功 , 可是对象数量是对的 , 可每个对象都是空对象 , 没有内容
然后 , 经过多次尝试 , 数据表自动生成的对象居然可以成功 ,,,
仔细对比一下 , 发现model类确实不太一样
// 我自己的
@Accessors(fluent = true)
// 数据库生成的
@Accessors(chain = true)
如果设置 fluent 确实是无法转换 , 换成chain之后 , 无论是 fastJson 还是 hutool都可以成功...
大概率是因为 fluent , 不用set和get前缀关键字 , 在获取对象内容的时候 , 可能无法明确是获取还是设置值 ...