与杰克逊一起收集未知财产

2024-03-16

我正在使用 Jackson 从 JSON 创建 Java 对象。假设我有一个像这样的 JSON 字符串:

{"a":"a", "b":"b", "c":"c"}

还有一个像这样的 pojo:

@JsonIgnoreProperties(ignoreUnknown = true)
public class A {

    private String a;
    private String b;

    // ...
}

所以 c 显然是一个未知的属性 - 并且它将被排除在外。我想知道,有什么方法可以记录 c 未知并被忽略吗?


我不知道有任何内置工具可以做到这一点。你可以自己写@JsonAnySetter

标记注释可用于定义非静态、 双参数方法(属性的第一个参数名称,第二个值 set),用作所有其他情况的“后备”处理程序 从 JSON 内容中发现无法识别的属性。

使用它就像

@JsonAnySetter
public void ignored(String name, Object value) {
    // can ignore the 'value' if you only care for the name (though you still need the second parameter)
    System.out.println(name + " : " + value);
}

在您要反序列化的类中,例如。你的A class.

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

与杰克逊一起收集未知财产 的相关文章

  • 使用 Intellij Idea 和 gradle 在应用程序引擎上调试 localhost

    我正在使用 IntelliJ 社区添加并使用 Gradle 构建应用程序引擎标准环境应用程序 在迁移到 IntelliJ 和端点框架之前 我使用的是 Android Studio 我无法调试我的本地主机 我添加了 jvmFlags 如下所述
  • 按下按钮并在java中的新窗口中打开文件

    我创建了一个 JFrame 并放置了一个文本字段和按钮 在文本字段中我放置了从文本文件读取的名称 我知道我想单击按钮并打开一个已知窗口 我想在其中放置名称 其他信息来自同一个文件 这是我的代码 这是我的主框架 package Fronten
  • Netbeans 8.1 Gnome 3 GTK+ UI 字体和选项卡高度

    我刚刚在运行 GNOME 3 桌面的 Ubuntu 16 04 上安装了 NetBeans 8 1 如果可能的话 我想继续使用 IDE 的 GTK 外观和感觉 但 UI 上的字体 尤其是选项卡中的字体 太小且重叠 我尝试添加 fontsiz
  • Java:扩展类并实现具有相同方法的接口

    可能无法完成以下操作 我收到编译错误 继承的方法 A doSomthing int 无法隐藏 B 中的公共抽象方法 public class A int doSomthing int x return x public interface
  • Android中如何使用JNI获取设备ID?

    我想从 c 获取 IMEIJNI 我使用下面的代码 但是遇到了未能获取的错误cls 它总是返回NULL 我检查了环境和上下文 它们都没有问题 为什么我不能得到Context班级 我在网上搜索了一下 有人说我们应该使用java lang Ob
  • 从 MATLAB 调用 Java?

    我想要Matlab程序调用java文件 最好有一个例子 需要考虑三种情况 Java 内置库 也就是说 任何描述的here http docs oracle com javase 6 docs api 这些项目可以直接调用 例如 map ja
  • java inputstream 打印控制台内容

    sock new Socket www google com 80 out new BufferedOutputStream sock getOutputStream in new BufferedInputStream sock getI
  • Mockito 使用 @Mock 时将 Null 值注入到 Spring bean 中?

    由于我是 Spring Test MVC 的新手 我不明白这个问题 我从以下代码中获取了http markchensblog blogspot in search label Spring http markchensblog blogsp
  • 在 Java 中如何找出哪个对象打开了文件?

    我需要找出答案哪个对象在我的 Java 应用程序中打开了一个文件 这是为了调试 因此欢迎使用工具或实用程序 如果发现哪个对象太具体了 这class也会很有帮助 这可能很棘手 您可以从使用分析器开始 例如VisualVM http visua
  • Android 无法解析日期异常

    当尝试解析发送到我的 Android 客户端的日期字符串时 我得到一个无法解析的日期 这是例外 java text ParseException 无法解析的日期 2018 09 18T00 00 00Z 位于 偏移量 19 在 java t
  • 如何在java中将日期格式从YYMMDD更改为YYYY-MM-DD? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我从机器可读代码中获取日期格式为 YYMMDD 如何将其更改为 YYYY MM DD 例如我收到 871223 YYMMDD 我想把它改成
  • 如何在.NET中使用java.util.zip.Deflater解压缩放气流?

    之后我有一个转储java util zip Deflater 可以确认它是有效的 因为 Java 的Inflater打开它很好 并且需要在 NET中打开它 byte content ReadSample sampleName var inp
  • 不可变的最终变量应该始终是静态的吗? [复制]

    这个问题在这里已经有答案了 在java中 如果一个变量是不可变的并且是final的 那么它应该是一个静态类变量吗 我问这个问题是因为每次类的实例使用它时创建一个新对象似乎很浪费 因为无论如何它总是相同的 Example 每次调用方法时都会创
  • 如何区分从 Saxon XPathSelector 返回的属性节点和元素节点

    给定 XML
  • Java Swing - 如何禁用 JPanel?

    我有一些JComponents on a JPanel我想在按下 开始 按钮时禁用所有这些组件 目前 我通过以下方式显式禁用所有组件 component1 setEnabled false 但是有什么办法可以一次性禁用所有组件吗 我尝试禁用
  • Android S8+ 警告消息“不支持当前的显示尺寸设置,可能会出现意外行为”

    我在 Samsung S8 Android 7 中收到此警告消息 APP NAME 不支持当前的显示尺寸设置 可能会 行为出乎意料 它意味着什么以及如何删除它 谢谢 通过添加解决supports screens 机器人 xlargeScre
  • 列表过滤器内的 Java 8 lambda 列表

    示例 JSON id 1 products id 333 status Active id 222 status Inactive id 111 status Active id 2 products id 6 status Active
  • java 中的蓝牙 (J2SE)

    我是蓝牙新手 这就是我想做的事情 我想获取连接到我的电脑上的蓝牙的设备信息并将该信息写入文件中 我应该使用哪个 api 以及如何实现 我遇到了 bluecove 但经过几次搜索 我发现 bluecove 不能在 64 位电脑上运行 我现在应
  • 由 Servlet 容器提供服务的 WebSocket

    上周我研究了 WebSockets 并对如何使用 Java Servlet API 实现服务器端进行了一些思考 我没有花费太多时间 但在使用 Tomcat 进行一些测试时遇到了以下问题 如果不修补容器或至少对 HttpServletResp
  • java'assert'和'if(){}else exit;'之间的区别

    java和java有什么区别assert and if else exit 我可以用吗if else exit代替assert 也许有点谷歌 您应该记住的主要事情是 if else 语句应该用于程序流程控制 而assert 关键字应该仅用于

随机推荐

  • 如何通过bash判断一个线程是不是内核线程?

    如何通过以下方式识别一个线程是不是内核线程bash 我发现你可以通过以下方式识别内核线程ps 如果线程名称包含在 它是一个内核线程 但我认为这不是一个好的解决方案 对于这个问题的任何提示 我将不胜感激 您可以通过查看来确定特定任务是否是 k
  • Magento 中的多种货币

    我已经可以选择更改货币 但还有另一个问题 目前基础货币设置为欧元 这对我来说没问题 但客户可能想要更改它 如果我将基础货币更改为 RON 货币转换器下拉菜单就会消失 如何使用欧元以外的其他货币 但仍可以选择在店内更改货币 警告 magent
  • 我收到“org.apache.catalina.core.StandardContext startInternal SEVERE:错误listenerStart”。一些线索?

    我正在开发一种复杂的 hello world spring web 应用程序 因为它只有最基本的功能 一个控制器和一个视图 用 thymeleaf 制作 简单的数据库连接 oracle 和简单的电子邮件发送功能 现在 我尝试使用我的 IDE
  • 转换电子表格小数格式:以句点和逗号分隔的小数位

    在 OpenOffice Calc 中 可以更改标准美国之间的数字格式 小数点分隔符为句点 以及 SI 国际系统 格式 小数点分隔符为逗号 这可以通过在第一种情况下将语言设置为美国英语 在后一种情况下将语言设置为加拿大法语 在 格式 菜单中
  • C#中使用Threads和ListView的问题

    我有一个文本过滤器 在 TextChanged 事件中我以这种方式启动列表视图填充代码 ThreadPool QueueUserWorkItem new WaitCallback populate 然后在填充方法中我有这样的代码 listV
  • 如何在 Razor 中进行 Active Directory 身份验证 (cshtml)

    我正在用 Razor 做一个简单的网站 目前 我可以使用基于数据库的身份验证 如下所示 在 App Start html中 WebSecurity InitializeDatabaseConnection db connection use
  • ASP .Net 文本框 Textchanged 事件

    我有一个网页 我在页面中显示表格中的记录 比如说学生 我查询所有学生并将他们显示在网格中 我想使用文本框来过滤 datagridview 结果 例如 如果用户在文本框中键入 a 网格将仅显示姓名中包含 a 的学生 我想在编辑文本框的同时刷新
  • VSIX newtonsoft 不在包中 (VS>15.5) 抑制包

    我们有针对 vsix 项目的解决方案 直到 Visual Studio 15 4 版软件包都是使用 newtonsoft json dll 生成的 但是从该版本开始 newsoft 就被排除在软件包之外 据我所知 这是因为 Microsof
  • R / Python / Julia 中 Matlab 的类型转换函数相当于什么

    相当于Matlab的什么typecastR 中的函数 在Python中 在朱莉娅 Matlab的typecast函数的描述如下 typecast http www mathworks com help matlab ref typecast
  • 打字稿中的 GUID / UUID 类型

    我有这个功能 function getProduct id string return some product 其中 id 实际上是 GUID Typescript 没有 guid 类型 是否可以创建类型GUID手动 function g
  • 如何将 2 个部分放入 1 个段(使用 ld 脚本)

    我有以下链接器脚本 SECTIONS arora exec free space 4399531 text rodata data rel ro local arora data free space ADDR arora exec fre
  • 设置 connect-flash 中间件以供 Passport 使用

    我想访问我的护照策略在回调中指定的消息 如下所示 done null false message No such user 到目前为止我发现这些消息可以通过传递选项来显示failureFlash true进入passport authent
  • Marshmallow PermissionHelper 的 Android Robolectric 单元测试

    我想学习 Robolectric 以便将其用于 Android Marshmallow 应用程序的单元测试 我写了一个PermissionHelper使用一些方法可以使权限处理更容易一些 为了开始对该类进行单元测试 我尝试测试最简单的方法
  • 如何使用 Perl 将带有 -- 的 SQL 注释转换为 #?

    UPDATE 这就是有效的方法 fgrep ircl include sql 我有各种带有 注释的 SQL 文件 我们迁移到最新版本的 MySQL 但它讨厌这些注释 我想用 替换 我正在寻找一种递归的 就地替换的单行代码 这就是我所拥有的
  • pyparsing 和换行符

    我刚开始pyparsing我有换行问题 我的语法是 from pyparsing import newline LineEnd Literal n leaveWhitespace minus Literal plus Literal lpa
  • 将字符串解析为整数抛出 NullpointerException

    Hy 我想将字符串解析为整数 字符串类似于系列的格式 SXXEXXX 守则 应该增加情节 喜欢 S01E01 gt S01E02 另 S01E100 gt S01E101 Code String s episodes get episode
  • pip:从特定目录卸载包

    我使用以下命令将包安装到特定的本地目录中pip install t
  • Three.js 与实例 - 如果没有 FrustumCulling = false 则无法使其工作

    我正在使用 Three js 和实例化 如这个例子 https threejs org examples webgl buffergeometry instancing html 但我遇到了其他人报告的同样问题 对象被随机剪切并不断从相机中
  • 导航时片段生命周期重叠

    我有一个Activity具有多个应用程序Fragments通过使用导航组件进行切换 当我在两个片段之间切换时onCreate and onDestroy 方法似乎有重叠 因此 当片段访问相同的全局对象时 我很难编写初始化和清理片段的代码 导
  • 与杰克逊一起收集未知财产

    我正在使用 Jackson 从 JSON 创建 Java 对象 假设我有一个像这样的 JSON 字符串 a a b b c c 还有一个像这样的 pojo JsonIgnoreProperties ignoreUnknown true pu