Gsonライブラリを使用してオブジェクトのJSON配列を逆シリアル化しようとしているときに、問題が発生します。
JSON配列の例:
[
{"ID":1,"Title":"Lion","Description":"bla bla","ImageURL":"http:\/\/localhost\/lion.jpg"},
{"ID":1,"Title":"Tiger","Description":"bla bla","ImageURL":"http:\/\/localhost\/tiger.jpg"}
]
どう思いますか?このようなJSON応答を逆シリアル化するための適切なJavaコードは何ですか?
JSONArrayを逆シリアル化するには、TypeTokenを使用する必要があります。詳細については、 GSONユーザーガイド を参照してください。コード例:
@Test
public void JSON() {
Gson gson = new Gson();
Type listType = new TypeToken<List<MyObject>>(){}.getType();
// In this test code i just shove the JSON here as string.
List<Asd> asd = gson.fromJson("[{'name':\"test1\"}, {'name':\"test2\"}]", listType);
}
JSONArrayをお持ちの場合は、
...
JSONArray jsonArray = ...
gson.fromJson(jsonArray.toString(), listType);
...