当前位置: 首页 > 面试题库 >

如何使用Jackson定义可选的JSON字段

席成仁
2023-03-14
问题内容

我有一个带有一个可选字段的对象,找不到合适的注释来对其建模。有什么想法和Jackson一起做的正确方法是什么?


问题答案:

在Jackson中,您无法区分可选字段和非可选字段。只需在您的POJO中声明任何字段即可。如果您的JSON结构中没有字段,那么Jackson将不会调用setter。您可以跟踪在POJO中是否用标志调用了setter。



 类似资料:
  • 上面的password是非必填,按照上面的写法,如果填了password,controller中拿不到password的值。 只有加上一个注解才可以。加上注解如果不传,又会提示password必须是字符串,怎么搞?

  • 有没有一种方法可以使用Jackson JSON处理器来执行自定义字段级别的序列化?例如,我想让 注意,age=25被编码为数字,而favoritenumber=123被编码为字符串。Jackson将编组为一个数字。在这种情况下,我希望将favoriteNumber编码为字符串。

  • 问题内容: 我正在使用Spring Boot(1.2.1),其方式与他们的Build RESTful Web Service教程中的方式类似: 因此,在上面,Spring MVC隐式使用Jackson将我的对象序列化为JSON。 但我想对JSON格式进行一些简单的自定义,例如: 问题是,定制隐式JSON映射器的最简单方法是什么? 我在此博客文章中尝试了该方法,创建了CustomObjectMapp

  • 问题内容: 我正在尝试使用Jackson JSON接受一个字符串,并确定它是否为有效JSON。谁能建议要使用的代码示例(Java)? 问题答案: 不知道您的用例是什么,但是应该这样做:

  • 问题内容: 我想使用自定义功能对a进行序列化和反序列化,但是Serde的书没有涵盖此功能,并且代码文档也无济于事。 我知道Serde可以很容易地反序列化,因为Chrono支持Serde, 但是 我想学习Serde,所以我想自己实现。当我运行此代码时,出现错误: 问题答案: 结构反序列化的默认行为是,当字段不以序列化形式出现时,为其分配各自的默认值。请注意,这与container 属性 不同,con