当前位置:   article > 正文

【FAQ】解决org.json.JSONException: JSONArray[0] is not a JSONArray._jsonarray[0] is not a jsonobject

jsonarray[0] is not a jsonobject

【报错】

org.json.JSONException: JSONArray[0] is not a JSONArray.

at org.json.JSONArray.getJSONArray(JSONArray.java:278)

 

【解决】

修改代码:

将 .getJSONArray(0) 修改为  .getJSONObject(0)

  1. return allTimeSlot.getJSONArray(0);
  2. -->
  3. return new JSONArray().put(allTimeSlot.getJSONObject(0));

 

【根因分析】

JSONArray的内容是在"[]"中的

JSONObject的内容是在"{}"中的

虽然allTimeSlot是一个JSONArray,但是它的第一个元素是一个JSONObject

所以要用getJSONObject(0)这个方法去获取,而不能用getJSONArray去获取

 

如下,整体是一个JSONArray,但是其中的每一个元素都是JSONObject:

  1. [
  2. {
  3. "a":"aaa"
  4. },
  5. {
  6. "b":"bb"
  7. }
  8. ]

 

如果仍期待生成一个JSONArray,那么应该新建一个JSONArray,然后用put方法把JSONObject插入

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/639767
推荐阅读
相关标签
  

闽ICP备14008679号