当前位置: 首页 > 知识库问答 >
问题:

和Jackson一起收集未知财产

萧德庸
2023-03-14
{"a":"a", "b":"b", "c":"c"}
@JsonIgnoreProperties(ignoreUnknown = true)
public class A {

    private String a;
    private String b;

    // ...
}

所以c显然是一个未知的属性--它将被遗漏掉。我在想,有没有什么方法可以记录c是未知的和被忽略的?

共有1个答案

卫君博
2023-03-14

我不知道有什么内置工具可以做到这一点。您可以使用@jsonanysetter编写自己的

标记注释,可用于定义非静态的双参数方法(属性的第一个参数名,要设置的第二个值),用作从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);
}
 类似资料:
  • 问题内容: 我正在使用Jackson从JSON创建Java对象。假设我有一个像这样的JSON字符串: 和这样的pojo: 因此,c显然是未知的属性-它将被排除在外。我想知道,有什么办法可以记录c未知和被忽略的情况? 问题答案: 我不知道有任何内置工具可以做到这一点。您可以用 标记注释,可用于定义一个非静态的,两个参数的方法(属性的第一个参数名称,第二个要设置的值),用作从JSON内容中找到的所有其

  • 我们正在使用解析存储聊天消息,我们正在使用解析通知。 对于iOS,我们这样做是为了在Parse的安装表中创建条目…它在parse的安装表中创建条目,我认为这是接收通知所必须的。 我没有收到来自解析的通知,我认为这是没有收到通知的原因… 事实是这样的吗? 有谁能帮我走上正路吗? 更新 现在收到通知但仍有些疑虑。我在用户登录时执行此操作。我有放条件,如果用户没有创建,那么只有创建,否则不。我没有把它加

  • 问题内容: 我想向JVM注册一个回调,所以我知道何时进行垃圾回收。有什么办法吗? 编辑:我想这样做,以便可以在应用程序日志中发生垃圾收集时注销,这样我就可以查看它是否与我所看到的问题相关。启用- Xloggc很有帮助,但是将GC日志中的时间(自应用程序启动以来使用秒数)整合到我的主应用程序日志中有点棘手。 编辑2012年4月:从Java7u4开始,您可以从GarbageCollectorMXBea

  • 我正在试验把杰克逊和龙目岛结合起来。这些是我的课: 这些是我添加到类spth中的JAR: > 龙目岛:https://projectlombok.org/downloads/lombok.jar(1.16.10version) 此外,Netbeans项目被配置为“保存时不编译”、“生成调试信息”、“报告不推荐使用的API”、“跟踪java依赖项”、“Activacte注释处理”和“编辑器中的Act

  • 我在使用Spring Boot和Jackson-databind 2.5.2将Joda DateTime从java序列化和反序列化到json时遇到了问题。我的pom.xml是这样的。 当我序列化日期时间对象时,我得到一个表示日期时间的整数。实际上不是我所期望的,但是很好。但是当我保存我的对象时,我得到了下面的错误... 出于某种原因,它将其序列化为整数,然后将其反序列化为字符串,但事实并非如此。我

  • 我的Ionic 5应用程序中有以下Firestore数据库结构。 书(集合) {bookID}(带有book字段的文档) 赞(子集合) {userID}(文档名称作为带有字段的用户ID) 集合中有文档,每个文档都有一个子集合。Like collection的文档名是喜欢这本书的用户ID。 我正在尝试进行查询以获取最新的,同时尝试从子集合中获取文档以检查我是否喜欢它。 我在这里做的是用每个图书ID调