Jackson JSON序列化 - 指定递归级别

 大众化的公爵樱桃rwr_208 发布于 2023-02-08 15:39

我正在使用SpringMVC 3.2.4,我希望使用Jackson2将对象序列化为JSON输出.

该对象具有递归属性.如果我尝试使用默认的Jackson ObjectMapper序列化它,我会收到一个递归错误.我意识到我可以@JsonIdentityInfo(generator=ObjectIdGenerators.IntSequenceGenerator.class)用来防止递归,但是,我实际上希望递归使得在胡子模板中更容易解析.但是,我想限制递归级别.

反正有没有指定杰克逊序列化器只递归1级?如果我需要创建自己的序列化程序,我可以注册它,使其仅用于特定的对象类吗?

正如一些评论所指出的那样,已经存在另一个与此问题非常密切相关的问题:Jackson JSON序列化,通过级别定义来避免递归.然而,在那个问题中,接受的答案(以及其他答案)都表明如何通过使用避免杰克逊的递归@JsonIdentityInfo.在这种特殊情况下,我不打算限制它; 而我想要它.但是,我只想限制递归的深度.

此外,引用的SO问题提供了一些Jackson文档的链接; 我已经有了这些文档,但坦率地说杰克逊的文档非常缺乏.它们指示如何注册序列化程序,但不指示它是如何构造的.也没有任何迹象表明如何确定序列化器的递归级别.最后,没有迹象表明是否/如何在Spring中为Jackson注册序列化程序以应用于特定类型的类.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有