나는 stackoverflow에서 몇 가지 질문과 비슷한 질문이 있지만 아무도 정말 내 문제에 대답. 나는 잭슨의 ObjectMapper
사용하여 사용자 개체의 목록에이 JSON 문자열을 구문 분석 할 : 잭슨 JSON + 자바 제네릭 얻을 LinkedHashMap
[{ "user" : "Tom", "role" : "READER" },
{ "user" : "Agnes", "role" : "MEMBER" }]
가이 같은 내부 클래스를 정의 :
public class UserRole {
private String user
private String role;
public void setUser(String user) {
this.user = user;
}
public void setRole(String role) {
this.role = role;
}
public String getUser() {
return user;
}
public String getRole() {
return role;
}
}
목록에 JSON 문자열을 구문 분석하기
protected <T> List<T> mapJsonToObjectList(String json) throws Exception {
List<T> list;
try {
list = mapper.readValue(json, new TypeReference<List<T>>() {});
} catch (Exception e) {
throw new Exception("was not able to parse json");
}
return list;
}
는하지만 내가 돌아올 것은 LinkedHashMaps
의 List
입니다 : UserRoles
의 난 제네릭을 사용합니다.
내 코드가 잘못되었습니다.
그것은 자바 언어, 악명 높은 유형의 삭제입니다 : 거기에 T는 타입의 변수와 정의를 입력하지; 기본적으로 List