0

次のような Json メッセージを含む myJson という GenericJson var があるとします。

{
  "id": "1234567890",
  "media": [{"id": "...", "url": "..."}, {"id": "...", "url": "..."}],
  "related_object": {"id": "...", "name": "..."}
}

「id」値を取得したい場合は、次のように記述します。

String myId = (String) myJson.get("id").

しかし、ネストされたコンテンツ内の値を取得したい場合はどうすればよいでしょうか?

私が試した:

GenericJson[] myMedia = myJson.get("media");
GenericJson[] myMedia = (GenericJson[]) myJson.get("media");

しかし、キャスティングが気に入らないようです。

ArrayList で試して動作します。

ArrayList<GenericJson> myMediaList = (ArrayList<GenericJson>) myJson.get("media");

しかし、その時点でArrayListから何も取り出すことができません...次のようなものを試しました:

GenericJson[] myMedia = myMediaList.toArray();
GenericJson[] myMedia = (GenericJson[]) myMediaList.toArray();

または次のようなものさえ

GenericJson myFirstMedia = myMediaList.get(0);
GenericJson myFirstMedia = (GenericJson) myMediaList.get(0);

しかし、機能したくありません... GenericJsonオブジェクトのArrayListであっても、何もありません。

私は何をすべきか?これを回避する方法はありますか?

4

2 に答える 2