나는이 같은 JSON, 나는 내가 위해 JSON 노드를 사용했다json 노드의 동적 키를 클래스에 매핑하는 방법은 무엇입니까?
{
"auth": [
{
"user_admin": [
{
"name": [
"harry"
],
"department": [
"MC"
],
"userid": [
"1234"
]
}
]
},
{
"user_employee": [
{
"name": [
"stella"
],
"department": [
"CC"
],
"role": [
"employee"
]
}
]
}
],
"language":"english",
"sub": "f598ab"
}
클래스 UserData.java에 JsonNode로 인증 간주 한 객체 매퍼를 사용하여 클래스에이를 매핑하는 데 사용했다가 auth을 사용하여 아래와 같이 UserData.java 클래스에 매핑하십시오.
@[email protected]
private JsonNode authorization;
@[email protected]
private String language;
@[email protected]
private String sub;
는 지금은 이름, 부서, 사용자 ID를해야합니다 다른 클래스에 동적 인 값 user_admin 및 user_employee를 매핑 할. 클래스 auth.java를 작성해,이 코드를 거기에 넣습니다.
@Getter @Setter
private List< String> name;
@Getter @Setter
private List<String> department;
@Getter @Setter
private List<String> userid;
@Getter @Setter
private List<String> role;
지금 나는 그것을지도하기 위해 아래의 코드를 시도,하지만 난 내가 가진
UserData mappedObject= (UserData)commonUtils.readJsonStringRespondToObjRequest((json), UserData.class);
Auth roleData= mapper.treeToValue(mappedObject.getAuth(), Auth.class);
오류를 얻고 작동하지 않는 그것의 당신의 JSON 구조 auth
이라고
Can not deserialize instance of Auth.java out of START_ARRAY
단일 Auth 개체 대신 Auth 배열로 역 직렬화를 시도하십시오. – alayor
어떻게 할 수 있습니까? @alayor – maya