使用 Jackson 映射时将默认值设置为空字段

2023-11-21

我正在尝试使用 Jackson 将一些 JSON 对象映射到 Java 对象。 JSON 对象中的一些字段是强制性的(我可以用@NotNull),有些是可选的。

与 Jackson 映射后,JSON 对象中未设置的所有字段在 Java 中都将为空值。有没有类似的注释@NotNull可以告诉 Jackson 为 Java 类成员设置默认值(以防它为 null)?

编辑: 为了使问题更清楚,这里有一些代码示例。

Java对象:

class JavaObject {
    @NotNull
    public String notNullMember;

    @DefaultValue("Value")
    public String optionalMember;
}

JSON 对象可以是:

{
    "notNullMember" : "notNull"
}

or:

{
    "notNullMember" : "notNull",
    "optionalMember" : "optional"
}

The @DefaultValue注释只是为了显示我要问的内容。这不是真正的注释。如果 JSON 对象就像第一个示例中那样,我想要的值optionalMember to be "Value"并不是null。有没有一个注释可以做这样的事情?


没有注释来设置默认值。
您只能在 java 类级别设置默认值:

public class JavaObject 
{
    public String notNullMember;

    public String optionalMember = "Value";
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Jackson 映射时将默认值设置为空字段 的相关文章

  • 使用 JPA Criteria API 进行分页的总行数

    我正在系统中为实体实现 高级搜索 功能 以便用户可以使用该实体的属性上的多个条件 eq ne gt lt 等 来搜索该实体 我正在使用 JPA 的 Criteria API 动态生成 Criteria 查询 然后使用setFirstResu
  • org.apache.sling.api.resource,version=[2.3,3) -- 无法解析

    您好 我无法访问我的项目内容 我已经上传了从 CQ 访问内容所需的所有包 我唯一能看到的是 org apache sling api resource version 2 3 3 无法解析 这是否是异常的原因 如果是 请告诉我如何解决 中Q
  • 正则表达式拆分数字和字母组,不带空格

    如果我有一个像 11E12C108N 这样的字符串 它是字母组和数字组的串联 如何在中间没有分隔符空格字符的情况下分割它们 例如 我希望分割结果为 tokens 0 11 tokens 1 E tokens 2 12 tokens 3 C
  • OSGi:如果不取消服务会发生什么

    这是我获取 OSGi 服务的方式 ServiceReference reference bundleContext getServiceReference Foo class getName Foo foo Foo bundleContex
  • 比较两个文本文件的最快方法是什么,不将移动的行视为不同

    我有两个文件非常大 每个文件有 50000 行 我需要比较这两个文件并识别更改 然而 问题是如果一条线出现在不同的位置 它不应该显示为不同的 例如 考虑这个文件A txt xxxxx yyyyy zzzzz 文件B txt zzzzz xx
  • wait() 在游戏中如何工作?

    在 playframework 的文档中here http www playframework org documentation 1 2 1 asynchronous已写 public static void loopWithoutBlo
  • 当从服务类中调用时,Spring @Transactional 不适用于带注释的方法

    在下面的代码中 当方法内部 是从内部调用的方法外部 应该在交易范围内 但事实并非如此 但当方法内部 直接从调用我的控制器class 它受到事务的约束 有什么解释吗 这是控制器类 Controller public class MyContr
  • Hazelcast 分布式锁与 iMap

    我们目前使用 Hazelcast 3 1 5 我有一个简单的分布式锁定机制 应该可以跨多个 JVM 节点提供线程安全性 代码非常简单 private static HazelcastInstance hInst getHazelcastIn
  • hibernate锁等待超时超时;

    我正在使用 Hibernate 尝试模拟对数据库中同一行的 2 个并发更新 编辑 我将 em1 getTransaction commit 移至 em1 flush 之后我没有收到任何 StaleObjectException 两个事务已成
  • 如何使用 Maven 打包并运行具有依赖项的简单命令行应用程序?

    我对 java 和 Maven 都是全新的 所以这可能非常简单 如果我遵循maven2hello world此处的说明 http maven apache org guides getting started maven in Five m
  • 使用 SQLITE 按最近的纬度和经度坐标排序

    我必须获得一个 SQLite SQL 语句 以便在给定初始位置的情况下按最近的纬度和经度坐标进行排序 这是我在 sqlite 数据库中的表的例句 SELECT id name lat lng FROM items EXAMPLE RESUL
  • 普罗米修斯指标 - 未找到

    我有 Spring Boot 应用程序 并且正在使用 vertx 我想监控服务和 jvm 为此我选择了 Prometheus 这是我的监控配置类 Configuration public class MonitoringConfig Bea
  • 编辑文件名在 JComboBox 中的显示方式,同时保持对文件的访问

    我对 Java 很陌生 对堆栈溢出也很陌生 我正在尝试利用 JMF API 创建一个用 Java 编码的简单媒体播放器 到目前为止 我已经能够设置一个简单的队列 播放列表来使用JComboBox called playListHolder
  • 如何在selenium服务器上提供自定义功能?

    我知道可以通过某种方法获得一些硒功能 其中之一如下 driver getCapabilities getBrowserName 它返回浏览器名称的值 但如果它指的是一个可用的方法 如果我没有误解的话 这似乎与自定义功能有关 就像我的意思是
  • Java整数双除法混淆[重复]

    这个问题在这里已经有答案了 方案1 int sum 30 double avg sum 4 result is 7 0 not 7 5 VS 方案2 int sum 30 double avg sum 4 0 Prints lns 7 5
  • Java中的Object类是什么?

    什么是或什么类型private Object obj Object http download oracle com javase 6 docs api java lang Object html是Java继承层次结构中每个类的最终祖先 从
  • react-native - 图像需要来自 JSON 的本地路径

    你好社区 我正在react native中开发一个测试应用程序 并尝试从本地存储位置获取图像 我实际在做什么 我将图像直接链接源提供给 var 并在渲染函数中调用此方法 react 0 14 8 react native 0 23 1 np
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • 在 RESTful Web 服务中实现注销

    我正在开发一个需要注销服务的移动应用程序 登录服务是通过数据库验证来完成的 现在我陷入了注销状态 退一步 您没有提供有关如何在应用程序中执行身份验证的详细信息 并且很难猜测您在做什么 但是 需要注意的是 在 REST 应用程序中 不能有会话
  • php 数组中出现意外的 json 输出结构

    我正在尝试转换动态数据 如何从 PHP 获取此 JSON JSON 122240cb 253c 4046 adcd ae81266709a6 item 0 3 这就是我所做的 但它不起作用 PHP json array 122240cb 2

随机推荐

  • 搜索值中包含的 ElasticSearch 字段

    我正在尝试在 ElasticSearch 中运行类似的字段查询 select from products where milk like name 这意味着我正在尝试查找本例中产品名称是 milk 子字符串的所有文档 我该怎么做 我会使用自
  • 在什么情况下如何使用“队列”或“延迟”?他们的设计目的是什么?

    我很困惑 动画的 队列 和 ajax 的延迟吗 有人可以告诉我一些典型的例子吗 你基本上是正确的 延迟对象 可用于处理异步事件 您启动一个操作 然后注册一个回调 该回调将在操作完成时调用 这包括 AJAX 尽管还有很多其他用途 jQuery
  • TypeError:在严格模式 dexie.js 上可能无法访问“调用者”、“被调用者”和“参数”属性

    谁能告诉我当我调用 dexie js 的 count 函数时会发生什么 TypeError caller callee and arguments properties may not be accessed on strict mode
  • 如何在编辑 SASS 文件后在 Chrome 中自动重新加载 css

    我正在尝试在 Chrome canary 中设置映射功能 我按照截图这个答案 主要功能有效 当我检查一个元素时 它会将我指向本地 sass 文件 当我编辑它时 本地文件安全 并且触发 sass watch 但是 即使在开发工具的 常规 选项
  • Flutter 中的控制台消息

    我目前在 Flutter 版本 2 6 0 12 0 pre 406 的主频道中 每次运行应用程序时 我都会在控制台中收到这些奇怪的消息 我只想知道为什么以及它们的含义以及是否可以忽略这些 当我新创建一个应用程序并在不编辑任何内容的情况下运
  • 浏览器对 Angular 材质的支持

    我想在我的下一个项目中使用 Angular Material https material angularjs org 我没有找到任何有关它支持哪些浏览器的文档 有人知道它的内部运作方式以及预期结果吗 据我了解flexcss 属性 例如 I
  • 如何通过迁移手动创建 asp.net 身份表?

    我希望 asp net Identity 表存在于我的数据库中 并且在实际运行 mvc 应用程序并创建用户之前生成相应的代码优先模型 以便我可以针对这些类编写一些逻辑之前 有没有办法可以手动创建这些表 类并进行迁移 如果您想将其手动添加到数
  • Objective c ios中的^是什么意思? [复制]

    这个问题在这里已经有答案了 很抱歉问这么简单的问题 但这些东西很难用谷歌搜索 我在 iOS 中有代码连接到在摄氏温度和华氏温度之间切换的切换开关 但我不知道 1 是什么意思 self celsius 是布尔值 Thanks self cel
  • cgi.FieldStorage如何存储文件?

    所以我一直在尝试原始 WSGI cgi FieldStorage 和文件上传 我只是不明白它如何处理文件上传 起初 它似乎只是将整个文件存储在内存中 我想嗯 这应该很容易测试 大文件应该会堵塞内存 但事实并非如此 不过 当我请求文件时 它是
  • 如何配置 WebStorm 为 KoaJS 提供代码补全?

    目前 WebStorm 报告 KoaJS 的方法未定义 这是一个轻微但持续的烦恼 我在网上搜索过 也搜索过WebStorm的配置对话框 但没有结果 有人将 WebStorm 与 KoaJS 一起使用并且智能感知 代码完成正常工作吗 这是一个
  • 我们如何使用 TriggerDagRunOperator 触发多个气流 dag?

    我有一个场景 其中特定的 dag 完成后需要触发多个 dag 已使用 TriggerDagRunOperator 触发单个 dag 是否可以将多个 dag 传递给 TriggerDagRunOperator 来触发多个 dags 是否可以仅
  • C++ 可变参数模板 AND 和 OR

    可以使用C 11可变参数模板来完成吗 in template
  • 修改jar文件

    我有一个 jar 文件 在 html 文件中用作小程序 我想修改 jar 文件的内容并重建 jar 文件 以便 html 可以与新的 jar 文件一起正常工作 我怎样才能做到这一点 我已经尝试使用 7zip 解压缩 并修改了源代码并创建了新
  • 如何在postgis中创建一个以米为单位的圆?

    我想问一下如何创建一个圆radius 4km 我已经尝试过ST Buffer功能 但它创造了一个更大的圆圈 我通过将其多边形插入新的 kml 文件来查看创建的圆 这就是我正在尝试的 INSERT INTO camera geom circl
  • 为什么我要删除 build/ 目录?

    Flutter Dart Android 新手 在控制台中刚刚做了 C Users lordnull gt flutter help clean Delete the build directory 只是想知道为什么我们要删除项目的构建目录
  • “传递结果失败” - onActivityForResult

    我有一个LoginActivity 用户登录 基本上都是自己的Activity它的主题就像一个对话框 看起来像一个对话框 它出现在一个SherlockFragmentActivity 我想要的是 如果有成功登录 应该有两个FragmentT
  • 将多个 .yml 文件传递​​给 docker-compose

    这里是 Docker 菜鸟 我的 docker 文件夹中有两个文件 docker compose build yml 和 docker compose up yml 以下是两个文件的内容 docker compose build yml v
  • 龙卷风.gen.engine 与tornado.gen.coroutine 的区别

    走过龙卷风 gen文档有人可以帮助我理解tornado gen coroutine和tornado gen engine之间的确切区别 作为龙卷风文档gen engine says 该装饰器类似于协程 但它不返回 Future 和回调参数没
  • 随机路径生成算法

    我想生成一个从矩阵顶部到底部的随机路径 FIDDLE 要求 路径可以蜿蜒 但必须从第一行连接到最后一行 最终 我希望每个路径片段的颜色是随机的 但现在它可以是统一的 我在下面仅使用红色进行了测试 从上到下连接的路径是随机生成的 路径片段显然
  • 使用 Jackson 映射时将默认值设置为空字段

    我正在尝试使用 Jackson 将一些 JSON 对象映射到 Java 对象 JSON 对象中的一些字段是强制性的 我可以用 NotNull 有些是可选的 与 Jackson 映射后 JSON 对象中未设置的所有字段在 Java 中都将为空