我有與具有相同屬性的名稱的多個條目的JSON文件,但不同的屬性值,諸如:映射JSON具有多個條目的陣列
{
"name" : { "first" : "A", "last" : "B" },
"gender" : "MALE",
"married" : false,
"noOfChildren" : 2
},
{
"name" : { "first" : "C", "last" : "D" },
"gender" : "FEMALE",
"married" : true,
"noOfChildren" : 1
}
,它應該被映射的類是:
公共類人{
private Name name;
private String gender;
private int age;
<getter, setters etc>
}
編輯: 服務代碼是:
List<Human> humans = null;
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
try {
humans= objectMapper.readValue(json, new TypeReference<List<Human>>(){});
} catch (IOException e) {
e.printStackTrace();
}
JSON從HTTP實體,並與正確的格式解析,現在我加入了答案建議註釋屁股。正如你所看到的,它們有一些共同的特性,但在其他方面有所不同,我想映射這些共同的領域。這樣可以映射JSON嗎?我已經嘗試將JSON映射到JsonNodes的集合/列表/數組,但是我一直在關注反序列化,而僅映射JSON條目的一個實例工作得很好。有沒有另外一種方法呢?
我不想忽略全班,只有特定的領域。但是那些不屬於班級的屬性呢,比如'noOfChildren'或'married'呢? – borgmater
這些屬性將被忽略,只有名稱和性別會在您的對象中。 –