我有以下JSON:
"propertyName": "{"1":[{"1":"value1","2":"value2","3":false}]}"
Run Code Online (Sandbox Code Playgroud)
第一个属性是具有属性映射后数组中项目的计数.
如果我想填写一个包含这些值的类,那么使用Jackson对此进行反序列化的最佳方法是:
class MyHolder
{
name = "value1";
age = "value2";
female = false;
}
Run Code Online (Sandbox Code Playgroud)
例如.
要反序列化列出/收集具体值(而不是LinkedHashMap默认获得),您需要将类型信息传递给Jackson:
mapper.readValue(jsonString, new TypeReference<List<MyHolder>>() { });
Run Code Online (Sandbox Code Playgroud)
另一种方法是:
CollectionType javaType = mapper.getTypeFactory().constructCollectionType(List.class, MyHolder.class);
List<MyDto> asList = mapper.readValue(jsonString, javaType);
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.