아래 버전의 웹 서비스에서 JSON 문자열을 가져옵니다. 표시되는 ID에 대한 JSON 문자열 필드는 get에서 보낸 내용에 따라 임의적입니다. 나는 json을 가지고 임의의 필드 값을 다루는 객체로 실행하는 gson에 대해 몇 가지 예제를 따라왔다. How to decode JSON with unknown field using Gson? 및 Dealing with randomly generated and inconsistent JSON field/key names using GSONGSON 2.0+ - 임의의 필드를 비 직렬화 및 구문 분석
내 질문은 특정 필드를 꺼내기 위해 개체를 만들면 어떻게해야합니까? 개체 (ID, 이름, 프로필) 등의 내부에서 값을 가져 오는 사용자 지정 클래스가 있지만 두 개를 참조 할 수있는 방법이 손실되었거나 개체에서 정보를 추출하는 방법이 잘못되었습니다. arraylist 또는 일종의 뭔가.
{
"415943": {
"id": 415943,
"name": "Zoro Roronoa",
"profileIconId": 580,
"revisionDate": 1390848107000,
"summonerLevel": 30
},
"19758386": {
"id": 19758386,
"name": "Zoro",
"profileIconId": 535,
"revisionDate": 1390855130000,
"summonerLevel": 30
}
}
Main.java
Gson gson = new Gson();
Object o = gson.fromJson(jsonStatsString, Object.class);
내가 계속 오류가 발생했습니다. "BEGIN_ARRAY가 예상되지만 BEGIN_OBJECT가 1 행 2 열의 열" " – Razgriz231
이었습니다. JSON은 배열이 아니라 여러 객체가 포함 된 객체로 보입니다. 난 그냥 반환 된 문자열을 데리고 바깥 쪽 {}를 []로 바꿔서 배열로 만들 것입니다. 그렇다면 그것이 작동합니다. – brwngrldev
목록 개체를 사용하지 않고 끝났지 만 답변의 'TypeToken'부분은 내가 찾고있는 부분입니다. – Razgriz231