来自 Facebook 的 JSON 数据示例
{
"1111111" : {
"home" : false,
"activities" : "some value"
},
"2222222" : {
"home" : false,
"activities" : "some value again"
}
}
public class Profile{
private boolean home;
private String activities;
// generated setter getter
public static void main(String[] args) throws JsonParseException, JsonMappingException, IOException {
ObjectMapper mapper = new ObjectMapper();
Profile mainProfile = mapper.readValue(new File("data.json"), Profile.class);
System.out.println(mainProfile.getActivities().size());
}
}
运行上面的文件会产生这个错误。
Unrecognized field "1111111" (Class com.analysis.structure.Profile), not marked as ignorable
我面临的问题是如何将“1111111”值映射到类中的变量?如果我使用@JsonIgnoreProperties(ignoreUnknown=true),它将完全忽略所有 josn 数据,因为第一个数据没有任何要映射的标签。我应该如何使用 Jackson JSON 将这种类型的 json 数据映射到 Java 中?