böyle json vardır:Jackson ayrıştırma JSON
{
"users":{
"1234":{
"firstname":"Joe",
"lastname":"Smith"
},
"9876":{
"firstname":"Bob",
"lastname":"Anderson"
}
},
"jobs":[
{
"id":"abc",
"location":"store"
},
{
"id":"def",
"location":"factory"
}
]
}
Bu kullanarak Jackson ayrıştırma ve böylece kullanarak yanıt ayrıştırma edilmiştir: readvalue (
public class MyCustomClass{
@JsonProperty("jobs")
ArrayList<Job> jobs;
@JsonProperty("users")
ArrayList<UserMap> usersMap;
}
Şimdi işler İşler nesnelerin içine mükemmel ayrıştırmak ama onlar dinamik tuşları var çünkü kullanıcılar ayrıştırmak için alamayan gibi MyCustomClass görünüyor json, MyCustomClass.class)
. Ben JsonAnyGetter/Setter hakkında okumak ve bir dize eşler UserMap nesne haritası yapma çalıştı -> Kullanıcı gibi:
public class UserMap {
private HashMap<String,User> usersMap;
@JsonAnySetter
public void add(String key, User user){
usersMap.put(key, user);
}
@JsonAnyGetter
public Map<String, User> getUsersMap(){
return usersMap;
}
}
ama bu çalışmıyor. Bunu bir TypeReference sarıcısıyla yapabileceğimi düşünüyorum, ancak bu haritaların geri dönecek tek tip olması durumunda bunu yapmanın bir yolunu düşünebilirim. Farklı türler aldığım için (kullanıcılar ve işler) bunu yapmak mümkün mü?
Kişisel json geçerli değil. Örneğin, "Anderson" dan sonra, –
'dan sonra üzüldüm. Bu yazım bana bir yazım hatası oldu, düzeltildi. Şimdi geçerli bir json olmalı. – pat