如何使用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"
}
答案 0 :(得分:0)
看看我写的这篇博客文章,详细解释如何使用本机工具和JSON
库解析android中的GSON
文件:
只需几个小步骤:
1。您需要创建一个代表您已解析的JSON数据的类。
2. :设置此类中的变量名称以匹配已解析数据的名称,或使用注释指定正确的名称。
3. 最后,您将使用类似这样的命令来解析数据:
Student student = gson.fromJson(currentStudent.toString(), Student.class);
指南中详细解释了所有这些步骤。
祝你好运。答案 1 :(得分:-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);
}