【发布时间】:2016-11-09 12:12:34
【问题描述】:
我有一个带有List<BigInteger> listField 的课程。该字段的 JSON 部分类似于 "listField":"[]"。我使用以下代码进行反序列化:
ObjectMapper mapper = new ObjectMapper();
MyClass myClass = mapper.readValue(jsonAsString, MyClass.class);
但是抛出异常:
com.fasterxml.jackson.databind.JsonMappingException:无法将 java.util.ArrayList 的实例反序列化出 VALUE_STRING 令牌
fasterxml.jackson 2.2.3 版
您能帮我解决这个问题吗?
【问题讨论】:
-
为什么JSON字段是
"listField":"[]"而不是"listField":[]? -
@khelwood,这是服务器响应。是不是json错了?
-
[]是 JSON 中的空数组。"[]"是一个包含两个括号的字符串。如果您期望它是一个数组,那就错了。 -
@khelwood,你是对的。服务器端有
@JsonSerialize(using = ToStringSerializer.class)注释。但是我可以从这个字符串值中检索列表吗?
标签: java json serialization