【发布时间】:2018-12-03 22:29:04
【问题描述】:
下面提到的是JSON字符串,resultString:
{
"imageMaps": [{
"crc": "c2c4",
"flags": "0",
"length": "117384",
"index": 1,
"version": "1.1.90ea",
"status": ""
}, {
"crc": "7601",
"flags": "8",
"length": "117592",
"index": 2,
"version": "1.1.90ed",
"status": ""
}],
"complete": true,
"nextBootImageVersion": "",
"lastKnownGoodImageVersion": "1.1.90ed",
"runningImageVersion": "1.1.90ed"
}
我想把同样的转换成A类的对象:
public class A {
private boolean complete;
private String message;
private String lastKnownGoodImageVersion;
private String nextBootImageVersion;
private String runningImageVersion;
private Map<String, B> imageMaps;
private List<B> images;
private MacID macId;
}
我正在尝试使用代码将 json 转换为 A 类的对象:
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
A a = objectMapper.readValue(resultString, A.class);
B 类代码为:
public static class B {
public String version;
public int flags;
public int crc;
public long length;
public String index;
public String status;
}
但是得到了异常:
com.fasterxml.jackson.databind.JsonMappingException: 不能 从 START_ARRAY 中反序列化 java.util.LinkedHashMap 的实例 令牌
【问题讨论】:
标签: jackson deserialization objectmapper