【问题标题】:How do I prevent an infinite-loop JSON array in Jackson?如何防止杰克逊中的无限循环 JSON 数组?
【发布时间】:2014-10-10 23:58:18
【问题描述】:

我有两张桌子。一个有一个菜单项列表,另一个只是一个参考表,用于跟踪哪些项目与另一个项目相得益彰。这是表格布局:

MenuItems            CompMenuItems  
-----------          -------------
MenuItemID <-------  MenuItemID     <---- "Refers to MenuItemID"
Name           ^---  CompMenuItemID <---- "Also refers to MenuItemID"

由于item之间是多对多的关系,下面的情况是完全可以的。

  1. 百事可乐很适合搭配汉堡包。
  2. 汉堡和百事可乐很相配。

但是,如果我这样做,当 JSON 被处理时,它会变成一个无限循环,将每个项目都包含在其互补的菜单项数组中。

我正在使用带有 Jersey\Jackson 和 Hibernate JPA 的 Spring MVC,但我无法解决这个问题。有人见过这个特殊问题吗?

【问题讨论】:

  • 而 JPA 究竟与无限循环有什么关系?堆栈跟踪会告诉您其中涉及的内容,因此如果不是问题的一部分,您可以取消标记 JPA
  • JPA 固有地迫使这个问题在堆栈的上层解决。那些使用图书馆的人可能以前也处理过类似的问题。这是相关的。谢谢。

标签: java json hibernate jpa jackson


【解决方案1】:
【解决方案2】:

你试过杰克逊的对象身份@JsonIdentityInfo http://wiki.fasterxml.com/JacksonFeatureObjectIdentity

【讨论】:

    猜你喜欢
    • 2016-01-25
    • 1970-01-01
    • 2015-05-24
    • 1970-01-01
    • 2012-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多