java - 从 JSONArray 获取 JSONObject

标签 java android json

我正在对作为服务器响应的 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/

相关文章:

Java REST 优化数据结构访问

java.lang.ClassNotFoundException : com. mysql.jdbc.Driver 错误,即使在导入库之后

c# - 免费的 UML 工具,非常适合 .NET

Android 数据绑定(bind) - 观察自定义 View 中包含的编辑文本的值

java - 如何使一系列非数据库方法模拟事务。

android - 如何通过 build.gradle 使 Android 库可用?

java - Eclipse 删除 AndroidManifest.xml 中的 Activity ?

C# Json.Net - 如何反序列化复杂对象

json - 如何动态添加结构属性以避免冗余代码?

javascript - 保存动态创建的表单架构