我正在编写一个使用Jersey和JAXB的服务。我的类用@XMLRootElement,@ XMLElement等注释。我在两个类之间有一个循环依赖,所以我用@XMLTransient注释了循环依赖属性。因此,当我调用我的服务时,我将xml作为默认值,这非常有效。但是,当我尝试使用JSON时,我会得到重复的行:
{ “名称”: “代雷”, “条目”:[{ “点”:0, “胜”:0, “损失”:0, “关系”:0, “排行榜”:{ “名称” : “代雷”, “项”:[{ “点”:0, “赢”:0, “损失”:0, “关系”:0, “排行榜”:{ “名”: “代雷”,“项“:[{” 点 “:0,” 赢 “:0,” 损失 “:0,” 关系 “:0,” 排行榜 “:{” 名 “:” 代雷”, “项”:[{ “点” :0,“胜利”:0,“损失”:0,“领带”:0,“排行榜”:{“名称”:“dere”,“......等等。
因此,当我使用JSON时,似乎存在循环依赖性问题。我想避免循环依赖项出现在JSON输出中,就像在XML中完成一样(因为@XMLTransient注释)。
任何人都可以提供有关我如何实现这一目标的任何见解吗?
答案 0 :(得分:1)
使用@JsonIgnore代替@XmlTransient来打破循环依赖关系。
我和你有类似的问题,这对我来说就是这个伎俩。
答案 1 :(得分:0)
值得查看Kris Zyp's JSON Referencing proposal。它是专门为在JSON数据中处理多个引用和循环引用而发明的。
(注意:尽管有文章标题,但Dojo不是必需的。原始提案位于json.com,但目前我无法访问该网站。)
不幸的是,如何在泽西岛实施这项技术是留给读者的一项练习。