无限循环中的JSONObject.fromObject

时间:2015-12-18 01:46:50

标签: java json jar infinite-loop

我正在使用jar json-lib-2.4-jdk15.jar

JSONObject.fromObject("/*/*");

上面的代码是无限循环的,这是一个错误吗?

1 个答案:

答案 0 :(得分:0)

这通常发生在您转换为json的类引用自身时.....最常见的情况是当您使用具有一对多关系的jpa实体时...其中parent指的是很多孩子而child指的是父级,以便您能够级联更新。

解决方案: 1-使变量成为子瞬态...但在JPA的情况下不会起作用,因为你需要实体属性不是瞬态的 2-制作另一个用于JSON传输的DTO,它不包含这种循环依赖关系并从/向它映射......但是太多的努力和容易出错 3-干净的方式(我提供的代码是针对谷歌Gson库,检查你的jar中是否有类似的选项):从gson解析变量,如何?标记您希望使用@Expose注释解析的所有属性....然后创建json对象使用:

GsonBuilder.excludeFieldsWithoutExposeAnnotation()。创建()

现在,未曝光的属性不会在json中转换