【问题标题】:ObjectMapper throwing JsonMappingException for the attribute not present in the JSON string on deserialization [closed]ObjectMapper 在反序列化时为 JSON 字符串中不存在的属性抛出 JsonMappingException [关闭]
【发布时间】:2022-01-27 11:42:17
【问题描述】:

我正在使用 Jackson ObjectMapper 序列化和反序列化 Java 对象。即使输入的 JSON 字符串没有特定属性,它也会引发异常:

com.fasterxml.jackson.databind.JsonMappingException: 找不到 (Map) 类型 [简单类型] 的密钥反序列化器

假设下面是类

public class Employee {

    private HashMap<Key,String> map = null;
    
    private String firstName;
    
    // getter && setters
}

我知道我必须为 map 属性编写自定义反序列化程序,但即使我没有在 JSON 字符串 "{"firstName":"AVD"}",为什么会出现此错误?如果这是反序列化的 Jackson 默认实现 我们可以改变这种行为吗?

【问题讨论】:

  • Key是什么类型的?

标签: java json jackson


【解决方案1】:

我使用了 HashMap 而不是 HashMap 并且进行了以下更改。

mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);

【讨论】:

    猜你喜欢
    • 2012-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-03
    相关资源
    最近更新 更多