热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

无法正确解析JSON数组

如何解决《无法正确解析JSON数组》经验,为你挑选了1个好方法。

我收到以下内容作为Stringwebserveice 的回复:

[
    [
        {
            "dgtype": "adhoc",
            "subtypename": "Person",
            "subtypedesc": "null",
            "summary": "Junaid (Self)",
            "subtype": "person",
            "birthdate": "1995-1-23 ",
            "name": "Junaid (Self)"
        },
        {
            "dgtype": "adhoc",
            "subtypename": "Job",
            "subtypedesc": "null",
            "summary": "Exa",
            "subtype": "person",
            "birthdate": "2010-01-30",
            "name": "Junaid (Self)"
        }
    ]
]

在Java中,我尝试执行以下操作:

JSONArray jArray = new JSONArray(result);  

                System.out.println("Response: "+jArray);

                for(int i = 0; i<= jArray.length(); i++){
                    try {
                        JSONObject OneObject= jArray.getJSONObject(i);

                        String dgtype = oneObject.getString("dgtype");
                        String subtypename = oneObject.getString("subtypename");
                        String subtypedesc = oneObject.getString("subtypedesc");
                        String summary = oneObject.getString("summary");
                        String subtype = oneObject.getString("subtype");
                        String birthdate = oneObject.getString("birthdate");
                        String name = oneObject.getString("name");

                        System.out.println(i);
                        System.out.println("dgtype: "+dgtype);
                        System.out.println("subtypename: "+subtypename);
                        System.out.println("subtypedesc: "+subtypedesc);
                        System.out.println("summary: "+summary);
                        System.out.println("subtype: "+subtype);
                        System.out.println("birthdate: "+birthdate);
                        System.out.println("name: "+name);




                    } catch (JSONException e) {
                        System.out.println("JSON Exception: "+e);
                    } 
                }

但是我得到以下异常:

JSON Exception: org.json.JSONException: Value  
[
    {
        "dgtype": "adhoc",
        "subtypename": "Person",
        "subtypedesc": "null",
        "summary": "Junaid (Self)",
        "subtype": "person",
        "birthdate": "1995-1-23 ",
        "name": "Junaid (Self)"
    },
    {
        "dgtype": "adhoc",
        "subtypename": "Job",
        "subtypedesc": "null",
        "summary": "Exa",
        "subtype": "person",
        "birthdate": "2010-01-30",
        "name": "Junaid (Self)"
    }
]
at 0 of type org.json.JSONArray cannot be converted to JSONObject
JSON Exception: org.json.JSONException: Index 1 out of range [0..1)

我正在关注这个例子.我哪里错了?另请注意异常代码段中缺少的长括号.



1> Igor Filippo..:

你有两个数组,一个在另一个数组中:

[
   [
    //Your objects
   ]
]

您可以更改数据格式,使其只有一个数组,或修改您的代码:

JSONArray outer = new JSONArray(result);  
JSONArray jArray = outer.getJSONArray(0);


推荐阅读
  • 本文详细解析了JavaScript中相称性推断的知识点,包括严厉相称和宽松相称的区别,以及范例转换的规则。针对不同类型的范例值,如差别范例值、统一类的原始范例值和统一类的复合范例值,都给出了具体的比较方法。对于宽松相称的情况,也解释了原始范例值和对象之间的比较规则。通过本文的学习,读者可以更好地理解JavaScript中相称性推断的概念和应用。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • LeetCode笔记:剑指Offer 41. 数据流中的中位数(Java、堆、优先队列、知识点)
    本文介绍了LeetCode剑指Offer 41题的解题思路和代码实现,主要涉及了Java中的优先队列和堆排序的知识点。优先队列是Queue接口的实现,可以对其中的元素进行排序,采用小顶堆的方式进行排序。本文还介绍了Java中queue的offer、poll、add、remove、element、peek等方法的区别和用法。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 判断数组是否全为0_连续子数组的最大和的解题思路及代码方法一_动态规划
    本文介绍了判断数组是否全为0以及求解连续子数组的最大和的解题思路及代码方法一,即动态规划。通过动态规划的方法,可以找出连续子数组的最大和,具体思路是尽量选择正数的部分,遇到负数则不选择进去,遇到正数则保留并继续考察。本文给出了状态定义和状态转移方程,并提供了具体的代码实现。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Android JSON基础,音视频开发进阶指南目录
    Array里面的对象数据是有序的,json字符串最外层是方括号的,方括号:[]解析jsonArray代码try{json字符串最外层是 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
author-avatar
白羊黔中草
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有