真正原因: 查阅资料发现是因为使用FastJson的JSONArray类型作为返回数据,当像JSONArray对象中添加JSONObject对象,而JSONObject对象中包含相同的节点数据时,FastJson会防止返回数据栈溢出的问题,自动将JSONArray中相同的节点数据使用引用方式代替。-------引用:https://www.jianshu.com/p/f22f98503ead
解决:
流程:禁止循环引用-->转化为 json 字符串-->然后再将 json 串转为 JSONArray-->存入新的 JSONArray
JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(arr, SerializerFeature.DisableCircularReferenceDetect));
本文探讨了FastJson在处理JSONArray时如何防止栈溢出,通过禁用循环引用并转换为JSON字符串再解析,解决数据结构问题。重点在于JSON序列化和引用处理机制。
738

被折叠的 条评论
为什么被折叠?



