GsonでOkhttpのレスポンスをmodelに変換しようとしているのですが、
public void getAtndEventApiRequest(){ String atndEventsUrl = "https://api.atnd.org/events/?keyword_or=google,cloud&format=json"; OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder().url(atndEventsUrl).build(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Request request, IOException e) { e.printStackTrace(); } @Override public void onResponse(Response response) throws IOException { Gson gson = new Gson(); AtndEventModel eventsModel = gson.fromJson(response.body().string(), AtndEventModel.class); List<AtndEventEntity> events = eventsModel.events; setEvents(events); } }); }
AtndEventModel eventsModel にうまく入ってくれません。
public class AtndEventModel { private Integer resultsReturned; private Integer resultsStart; private List<AtndEventEntity> events; }
public class AtndEventEntity { private Integer accepted; private String address; private String _catch; private String description; private Object endedAt; private Integer eventId; private String eventUrl; private String lat; private Integer limit; private String lon; private Integer ownerId; private String ownerNickname; private String ownerTwitterId; private String place; private String startedAt; private String title; private String updatedAt; private Object url; private Integer waiting; // setter, getterは省略 }
簡略化したJSONデータは以下です。
{ "events": [ { "event": { "accepted": 6, "address": "大阪府大阪市北区小松原町5-8 トリオビル4F、5F", "catch": "梅田1/25(日)", "description": "<p>はじめに<br /><p>それでは当日楽しみましょう!</p>", "ended_at": null, "event_id": 60918, "event_url": "http://atnd.org/events/60918", "lat": "34.7033395", "limit": 20, "lon": "135.5014871", "owner_id": 193806, "owner_nickname": "たこにゃん", "owner_twitter_id": "taconyan39", "place": "梅田個室空間 楽宴の贈りもの 梅田店", "started_at": "2020-01-25T19:00:00.000+09:00", "title": "アニメ語りたいin梅田 1/25(日)", "updated_at": "2015-03-12T12:27:46.000+09:00", "url": null, "waiting": 0 } }, { "event": { "accepted": 18, "address": "みなしごらんど", "catch": "アルゴリズムイントロダクションを読む予定", "description": "<h1>あるごりずむ が にがてな ぼくたち の ための べんきょうかい です</h1><h3><a href="http://groups.google.co.jp/group/itroductiontoalgorithm">登録お願いします</a></h3>", "ended_at": null, "event_id": 7828, "event_url": "http://atnd.org/events/7828", "lat": "0.0", "limit": 2147483647, "lon": "0.0", "owner_id": 4443, "owner_nickname": "oskimura", "owner_twitter_id": "oskimura", "place": "い し の な か に い る", "started_at": "2015-12-31T23:50:00.000+09:00", "title": "【初心者向け】あるごりずむ勉強会", "updated_at": "2010-09-24T13:51:01.000+09:00", "url": "http://groups.google.co.jp/group/itroductiontoalgorithm", "waiting": 0 } } ], "results_returned": 10, "results_start": 1 }
ライブラリのバージョンは
compile 'com.squareup.okhttp:okhttp:2.4.0' compile 'com.squareup.okio:okio:1.4.0' compile 'com.google.code.gson:gson:2.3'
です。
もし原因がお分かりの方がいらしたら、教えていただきたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。