0

AndroidでGSONを使用してサーバーから次のレスポンスをデシリアライズする方法は? 次のコードを逆シリアル化し、JsonReader を使用して Java クラス インスタンスにデータを格納したいと考えています。

{
   "createTimestamp": "2013-05-23 09:39:41",
   "firstName": "ABCD",
   "lastName": "EFGH",
   "mediaListResponse":
   [
       {
           "mediaTitle": "Media Title",
           "createTimestamp": null,
           "mediaId": 120,
           "mediaUrl": "/img/mediadata/46/420/1/230.jpg",
           "authenticationKey": null,
           "responseCode": null,
           "responseMessage": null
       },
       {
           "mediaTitle": "Media Title",
           "createTimestamp": null,
           "mediaId": 120,
           "mediaUrl": "/img/mediadata/46/420/1/230.jpg",
           "authenticationKey": null,
           "responseCode": null,
           "responseMessage": null
       }
   ],
   "authenticationKey": null,
   "responseCode": "200",
   "responseMessage": "OK"
}
4

2 に答える 2

-1

json 入力に対応する Java オブジェクト クラスを作成できます。

   class YourObject {
    String createTimestamp;
    String firstName;
    String lastName;
    List<MediaListItem> mediaListResponse;
   [...] 
  }

  class MediaListItem {
     String mediaTitle;
     String createTimestamp;
     int mediaId;
     [...]
  }

オブジェクトを使用して、解析された json オブジェクトを保持できます。私はこのようにします:

アップデート:

単一の json オブジェクトの場合:

       YourObject obj = gson.fromJson(jsonString, YourObject.class);

json オブジェクトの配列の場合:

        Gson gson = new Gson();
        JsonParser parser = new JsonParser();
        JsonArray Jarray = parser.parse(jsonMetaData).getAsJsonArray();
        ArrayList<MyObject> parsedObj = new ArrayList<MyObject>();
        // Add each parsed elements from the Jarray to your object structure
        for (JsonElement obj : Jarray)
        {
            MyObject obj = gson.fromJson(obj, MyObject.class);
            parsedObj.add(obj);
        } 
于 2013-06-18T07:47:55.260 に答える