当前位置: 首页 > 面试题库 >

从JSONArray获取JSONObject

全彬
2023-03-14
问题内容

我正在解决有关作为服务器响应的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并创建syncresponse,synckey作为 JSON对象
createdtrs,modtrs,deletedtrs作为 JSONArray
。我想从Deletedtrs访问JSONObject,以便可以将它们分开并使用这些值。即我想提取公司编号,用户名,日期等。

我该怎么办?

感谢您的输入。


问题答案:

JSONArray对象具有一个功能getJSONObject(intindex),您可以编写一个简单的for循环来遍历所有JSONObject:

JSONArray array;
for(int n = 0; n < array.length(); n++)
{
    JSONObject object = array.getJSONObject(n);
    // do some stuff....
}


 类似资料:
  • 这是我打印日志时的JSON结果。我无法从这个结果中获得数据。请建议如何从这个结果中获得数据。错误显示of类型org.json.jsonArray不能转换为JSONObject,我知道已经有很多文章与此相关,但我不明白如何获取数据。

  • 问题内容: 我需要获取JsonArray的键名,所以JSON看起来像这样,请不要,因为JSON是从数组括号开始的,并且其中包含对象,这是我想做的,因为后端将具有添加对象的能力。 因此,我需要从中获得“技术”和“科学”的名称,因为json可以动态更改,我该如何实现呢? 问题答案: 该包含秒。检索每个并用于访问每个中定义的密钥

  • 我一直在与服务器使用改型的响应进行斗争。 Logcat正在打印JSONObject,但它在

  • 我最近才开始使用Registfit+Gson,尽管我四处寻找解决问题的答案,并尝试了几种解决方案,但似乎没有任何效果,反而导致: 我发出请求的片段代码... 以防万一有人感兴趣... 我理解错误消息,我只是想弄清楚如何让Gson期望JSONArray。我肯定我的错误是显而易见的,但我没有看到或理解它。提前感谢您的帮助!

  • 大家好 错误:org.json.jsonException:不是原始数组:类org.json.jsonArray 我不明白为什么这是一个问题。我想从对象中获得JSONArray。

  • 我使用Reformation2和RxJava2从服务器获取数据。我有以下格式的回复: 我得到以下异常: ApiService.class RetrofitClient.class 现在我正在使用如下的一些东西来获取数据: 有人请让我知道为什么我得到这个exception.Any帮助将不胜感激。 谢谢