【发布时间】:2019-11-29 22:43:42
【问题描述】:
我有这样的结构:
{
"name": "user",
"values":[["0.00207760","18.48000000"],["0.00207740","40.00000000"],["0.00207710","2.26000000"]]
}
我想使用流行的 Jackson 库反序列化成这样的类:
public class Values {
public String name;
public Map<BigDecimal, BigDecimal> values = new HashMap<>();
}
values 属性中的每个条目都成为类映射中的键/值条目。
但是,如果我尝试对 Jackson 进行简单的反序列化,则会收到以下错误:
com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.TreeMap<java.lang.Object,java.lang.Object>` out of START_ARRAY token
at [Source: (String)"{"name": "user","values":[["0.00207760","18.48000000"],["0.00207740","40.00000000"],["0.00207710","2.26000000"]]...
at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
at com.fasterxml.jackson.databind.DeserializationContext.reportInputMismatch(DeserializationContext.java:1442)
at com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken(DeserializationContext.java:1216)
...
如何使用 Jackson 来实现?
谢谢!
爱德华多
【问题讨论】:
标签: java json jackson deserialization json-deserialization