目前正在开发Android应用程序,我需要帮助我如何在这个json对象的响应字段中提取子字段:
目前,我正在执行以下操作以提取其他一些字段:
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");
答案 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
数据就在那里,你只需要解析它。