java - Jackson反序列化错误: MismatchedInputException

标签 java spring jackson jackson-databind

我有以下类(class)

public class Cart {
    private final String id;

    public Cart(String id) { this.id = id;}

    public String getId() { return id; }
}

以及以下测试:

    String jsonString = "{\"id\":\"56c7b5f7-115b-4cb9-9658-acb7b849d5d5\"}";
    Cart cart = mapper.readValue(jsonString, Cart.class);
    assertThat(cart.getId()).isEqualTo("56c7b5f7-115b-4cb9-9658-acb7b849d5d5");

我收到以下错误:

com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of com.store.domain.model.Cart (although at least one Creator exists): cannot deserialize from Object value (no delegate- or property-based Creator) at [Source: (String)"{"id":"56c7b5f7-115b-4cb9-9658-acb7b849d5d5"}"; line: 1, column: 2]

我不明白这里出了什么问题。请问有什么帮助吗?

最佳答案

您应该添加一个不带任何参数的普通构造函数,如下所示:

public Cart() { }

关于java - Jackson反序列化错误: MismatchedInputException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55529028/

相关文章:

spring - 如何从 H2 中的时间戳列中提取日期

java - 用于接口(interface)的 Kafka JSON 反序列化器

java - Jackson @JsonRawValue 用于 Map 的值

java - org.hibernate.hql.internal.ast.QuerySyntaxException :

Spring Boot API 如何验证请求 header 中发送的 NONCE 值以避免重放攻击

java - Spring:如何使用@PropertySource 导入不在类路径中的资源文件?

java - Gson 可以使用类生成器反序列化吗?

java - 方法内的方法

java - 从 Android 中的不同 Activity 更改 ImageResource

java - Spring HATEOAS 1.0,删除了 BaseUriLinkBuilder