我正在对作为服务器响应的 JSONObject 进行一些修复。
jsonObj = new JSONObject(resultString);
JSONObject sync_reponse = jsonObj.getJSONObject("syncresponse");
String synckey_string = sync_reponse.getString("synckey");
JSONArray createdtrs_array = sync_reponse.getJSONArray("createdtrs");
JSONArray modtrs_array = sync_reponse.getJSONArray("modtrs");
JSONArray deletedtrs_array = sync_reponse.getJSONArray("deletedtrs");
String deleted_string = deletedtrs_array.toString();
{"syncresponse":{"synckey":"2011-09-30 14:52:00","createdtrs":[],"modtrs":[],"deletedtrs":[{"companyid":"UTB17","username":"DA","date":"2011-09-26","reportid":"31341"}]
正如您在收到的响应中看到的那样,我正在解析 JSONObject 并创建同步响应,synckey 作为 JSON 对象 createdtrs、modtrs、deletedtrs 作为 JSONArray .我想从 deletedtrs 访问 JSONObject,以便我可以将它们分开并使用这些值。即我想提取 companyid、用户名、日期等。
我该怎么办?
感谢您的意见。
最佳答案
JSONArray 对象有一个函数getJSONObject(int index)
,你可以通过编写一个简单的for循环来循环所有的JSONObjects:
JSONArray array;
for(int n = 0; n < array.length(); n++)
{
JSONObject object = array.getJSONObject(n);
// do some stuff....
}
关于java - 从 JSONArray 获取 JSONObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7634518/