Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java @无限递归循环中的JsonIgnore vs@JsonBackReference_Java_Json_Loops_Recursion_Jackson - Fatal编程技术网

Java @无限递归循环中的JsonIgnore vs@JsonBackReference

Java @无限递归循环中的JsonIgnore vs@JsonBackReference,java,json,loops,recursion,jackson,Java,Json,Loops,Recursion,Jackson,我想知道这两种注释之间的主要区别是什么?两者都是为了解决无限递归循环问题。但在例子中 @varren展示了@JsonBackReference的用法,我认为他也创建了无限递归循环。另外,当我尝试使用@JsonBackReference时,它还创建了一个递归循环,与@JsonIgnore形成对比?那么,为了使用@JsonBackReference,我们如何管理无限循环的情况呢?@M.Prokhorov 好的,那么我的例子呢,我把这两个注释放进去,得到这样的东西: 仔细观察瓦伦回答中的实际对象:只

我想知道这两种注释之间的主要区别是什么?两者都是为了解决无限递归循环问题。但在例子中

@varren展示了
@JsonBackReference
的用法,我认为他也创建了无限递归循环。另外,当我尝试使用
@JsonBackReference
时,它还创建了一个递归循环,与
@JsonIgnore
形成对比?那么,为了使用
@JsonBackReference
,我们如何管理无限循环的情况呢?

@M.Prokhorov 好的,那么我的例子呢,我把这两个注释放进去,得到这样的东西:


仔细观察瓦伦回答中的实际对象:只有一个
玩家
对象(
Player@914
)和单个
Info
对象(
Info@915
)。请把你的答案也从那个问题上删除。我删除了它,但你的答案对我来说没有任何意义。你能用不同的词写吗?我还能怎么描述呢?没有无限递归,因为在反序列化
{id:1,Info:{id:1}
之后,
Player
Info
只有一个实例。如果有无限递归,这个例子就会产生它,给出错误,而不是这两个对象。但是下面的第二张图片呢,但是使用JsonManagedReference+JsonBackReference,我们将在那里获得信息引用?它调用once-PLayer-once-Info,once-PLayer-once-Info,等等-它看起来像一个不定式循环吗?在第二张图片上,只有一个实例
Player@914
并且只有一个实例
Info@915
。它们都有相互引用,调试器图像显示,如果盲目地遵循链接,将进入无限递归,但我们没有,因为
@JsonManagedReference+@JsonBackReference
正在工作。请检查从响应中传递的JSON,以了解语法问题。我想有个错误消息