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前缀关键字 , 在获取对象内容的时候 , 可能无法明确是获取还是设置值 ...
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY