나는이 같은 JSON이 있습니다잭슨 구문 분석 JSON은
{
"users":{
"1234":{
"firstname":"Joe",
"lastname":"Smith"
},
"9876":{
"firstname":"Bob",
"lastname":"Anderson"
}
},
"jobs":[
{
"id":"abc",
"location":"store"
},
{
"id":"def",
"location":"factory"
}
]
}
I이 사용 잭슨을 분석하고있어 내가 사용하여 응답을 구문 분석되었습니다 readvalue를 (
public class MyCustomClass{
@JsonProperty("jobs")
ArrayList<Job> jobs;
@JsonProperty("users")
ArrayList<UserMap> usersMap;
}
지금 작업이 작업 객체로 완벽하게 분석하지만 나는 그들이 동적 키를 갖고 있기 때문에 사용자가 구문 분석 얻을 수없는 것처럼 MyCustomClass 보이는 JSON, MyCustomClass.class)
. 나는 JsonAnyGetter/세터에 대해 읽고 문자열을 매핑 UserMap 객체지도 제작 시도 -> 이용자 :
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;
}
}
을하지만 작동하지 않습니다. TypeReference 래퍼를 사용하여이 작업을 수행 할 수 있다고 생각하지만, 그지도 만 돌아 오는 유일한 유형인 경우에만 수행 할 수있는 방법을 생각할 수 있습니다. 나는 다른 유형을 다시 얻고 있기 때문에 (사용자와 작업)이 작업을 수행 할 수 있습니까?
귀하의 JSON이 유효하지 않습니다. 당신은 예를 들어 "앤더슨"이후에 –
나를 미안하다가 미안해합니다. 유효한 json이어야합니다. – pat