3
했다 : 나는 PageResponse에 오류가BEGIN_OBJECT를 예상하지만 이건 내 JSON 데이터입니다 BEGIN_ARRAY
Gson gson = new Gson();
JSONArray pageJson = JsonReader.readJsonArrayFromUrl(
"https://api.4chan.org/b/threads.json");
System.out.println(pageJson.toString());
PageResponse PageResponse = gson.fromJson(pageJson.toString(), PageResponse.class);
:
[
{
"page": 0,
"threads": [
{
"no": 498507562,
"last_modified": 1375984181
},
{
"no": 498503346,
"last_modified": 1375984243
},
{
"no": 498497523,
"last_modified": 1375984241
},
{
"no": 498496579,
"last_modified": 1375984241
},
{
"no": 498499114,
"last_modified": 1375984240
},
{
"no": 498503169,
"last_modified": 1375984239
},
{
"no": 498497038,
"last_modified": 1375984239
},
{
"no": 498501946,
"last_modified": 1375984238
},
{
"no": 498507181,
"last_modified": 1375984237
},
{
"no": 498505625,
"last_modified": 1375984236
},
{
"no": 498505578,
"last_modified": 1375984242
},
{
"no": 498507346,
"last_modified": 1375984236
},
{
"no": 498497504,
"last_modified": 1375984236
},
{
"no": 498486742,
"last_modified": 1375984234
},
{
"no": 498502590,
"last_modified": 1375984232
}
]
},
{
"page": 1,
"threads": [
{(...so on)
이 내 코드는 직렬화입니다. 다음은 내 PageResponce 클래스입니다. 나는 내가 정보 권리를 다루고 있을지도 모른다고 생각한다. 나는 JsonObjects에서만 일했습니다. 은 "스레드"
public class PageResponse {
List<Page> pages;
public List<Page> getPages() {
return pages;
}
}
마이 페이지 클래스
공용 클래스 페이지 {
int page;
public int getPage() {
return page;
}
을 얻는 방법을 다음 0을, 그리고 : 나는 "페이지"를 얻는 방법을 알고 싶습니다
}
getJSONObject (0)는 getPage() 호출에 대해 0을 부여하는 첫 번째 페이지 객체를 제공합니다. –
나는 그것을 알아 냈다! 정말 감사합니다. –
@EmmanuelCortes 수락을 보내 주셔서 감사합니다. 그러나'PageResponse []'를 잘못 사용했다. 나는 모든 케이스 (중첩 된 쓰레드 포함)를 테스트하고 다루었습니다. 당신이 원한다면보세요. –