需要一些帮助来尝试从我们的后端服务器解析此JSON响应

时间:2016-01-16 21:34:54

标签: java android json

目前正在开发Android应用程序,我需要帮助我如何在这个json对象的响应字段中提取子字段:

pic of json object

目前,我正在执行以下操作以提取其他一些字段:

 JSONObject json = new JSONObject(response2);
 int id = json.getInt("id");
 String desc = json.getString("description");
 JSONObject json2 = json.getJSONObject("owner");
 String username = json2.getString("userName");

1 个答案:

答案 0 :(得分:0)

您需要创建逻辑来解析数据。 JSON字符串中的每个项目都在您使用

创建的JSONObject json = new JSONObject(response2);
JSONObject

您正在以正确的方式走上正轨。只需使用JSONArray{ // <-- this is your main object (AKA JSONObject json = new JSONObject(response2)) "id": 1, // to pull this id use json.getInt("id"); "title": "some text here", // to pull this title use json.getString("title"); ... "owner": { // Here's the logic part, owner is itself, a JSON object. so now you must extract it and parse through it. // to pull the "owner" JSON object, use JSONObject ownerObject = json.getJSONObject("owner"); "userId": 1, // Now use the ownerObject to pull it's values. ownerObject.getInt("userId"); "userName": "TestingUser", // to pull this userName use ownerObject.getString("userName"); ... } ... } 类中提供的相应方法即可浏览对象。

从主要对象

开始
"someJSONArray": [{ "id": 1, "userName": "TestingUser1" }, { "id": 2, "userName": "TestingUser2" }]

如果它是一个数组,例如:

JSONArray someJSONArray = getJSONArray("someJSONArray");
// Get each object from the array.
JSONObject object1 = someJSONArray.getJSONObject(0);
JSONObject object2 = someJSONArray.getJSONObject(1);
然后你会打电话给:

"someKey": [ 23, 435, 123, 6345, 123 ]

或者数组是否包含字符串,例如:

JSONArray someKeyArray = getJSONArray("someKey");
for (int i = 0; i < someKeyArray.length(); i++) {
    // Extract the value.
    int itemValue = someKeyArray.getInt(i);
}
然后你会打电话给:

self.backgroundColor = self.contentView.backgroundColor

数据就在那里,你只需要解析它。