Tag: 循环引用

有关于Gson“循环参考”的解决方案吗?

我找到了许多关于Gson循环引用的文章,但我找不到一个优雅的解决方案。 据我所知,一些解决方案是: 将导致循环引用的属性设置为“瞬态”。 使用某些注释排除该属性。 但作为一般性问题,是否有一些解决问题的共同策略?

创建循环通用引用

我正在编写一个应用程序来在对等网络中进行一些分布式计算。 在定义网络时,我有两类P2PNetwork和P2PClient。 我希望这些是通用的,因此有以下定义: P2PNetwork<T extends P2PClient<? extends P2PNetwork>> P2PClient<T extends P2PNetwork> 用P2PClient定义setNetwork(T网络)的方法。 我希望用这段代码描述的是: P2P网络由特定类型的客户端构成 P2PClient可能只属于其客户端由与此客户端相同类型的网络(循环引用) 这似乎对我来说是正确的,但如果我尝试创建一个非generics版本,如 MyP2PClient<MyP2PNetwork> myClient; 和其他变种我从编译器收到很多错误。 所以我的问题如下: 是否可以使用通用循环引用(我从未见过明确禁止它的任何内容)? 上述通用定义是否是这种循环关系的正确定义? 如果它是有效的,它是描述这种关系的“正确”方式(即是否有另一个有效的定义,这在风格上是首选的)? 在给定正确的通用定义的情况下,如何正确定义客户端和服务器的非generics实例?

Json和Java – 循环参考

我有并且发布了循环参考。 我有Rest Webservices将对象返回到前端,问题是当我尝试返回具有多个引用的对象时,结果我得到无限响应,这会生成 java.lang.IllegalStateException: Cannot call sendError() after the response has been committed 这些对象是由Hibernate代码生成自动生成的,我需要在后端使用循环引用,我只需要在使用Jackson将信息发送到前端之前将其删除。 控制器方法标题是: @RequestMapping(value=”/list”, method=RequestMethod.POST) public @ResponseBody eventResponse list(@RequestBody String sessionID) { 我没有做任何明确的转换为Json,我是一个新手,我认为jackson自动解决了这个问题。