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

错误org.json.JSONException:PROJECT_NAME没有值,这是我的json

江亮
2023-03-14
问题内容

我收到错误org.json.JSONException:PROJECT_NAME没有值,这是我的json

{"PROJECTS":[ 
         {
            "PROJECT_NUMBER": "2062",
            "PROJECT_NAME": "OPW 51183"
         },
         {
            "PROJECT_NUMBER": "404",
            "PROJECT_NAME": "404"
         },
         {
            "PROJECT_NUMBER": "2125",
            "PROJECT_NAME": "OPW 50016"
         },
         {
            "PROJECT_NUMBER": ""
         },
         {
            "PROJECT_NUMBER": "2130",
            "PROJECT_NAME": "OPW 51151 63rd & Shirley SEW S"
         },
         {
            "PROJECT_NUMBER": "2159",
            "PROJECT_NAME": "OPW 51226"
         }
        ]

    }

鳕鱼是:

for (int i = 0; i < innerProjectarray.length(); i++) 
    {

JSONObject obj=innerProjectarray.getJSONObject(i);
String projectnumber1=obj.getString("PROJECT_NUMBER");
String projectname1=obj.getString("PROJECT_NAME");
        }

有什么办法可以找到密钥,如果密钥不存在,那么np需要获取特定字符串的值帮我谢谢


问题答案:

使用
具有
检查重点是存在于JSON。如果该对象具有名称映射,则返回true。

喜欢

for (int i = 0; i < innerProjectarray.length(); i++) {

    JSONObject obj = innerProjectarray.getJSONObject(i);
    if (obj.has("PROJECT_NUMBER")) {
        String projectnumber1 = obj.getString("PROJECT_NUMBER");
    }

    if (obj.has("PROJECT_NAME")) {
        String projectname1 = obj.getString("PROJECT_NAME");
    }
}

另一种方法是使用
optString
,如果存在则返回按名称映射的值,并在必要时进行强制。如果不存在这样的映射,则返回空字符串。

for (int i = 0; i < innerProjectarray.length(); i++) {

    JSONObject obj = innerProjectarray.getJSONObject(i);

    String projNum = obj.optString("PROJECT_NUMBER"); 
    String projName = obj.optString("PROJECT_NAME"); 
    // and use both values. 
}


 类似资料:
  • 我试图用Selenium×Node.js实现自动化测试,但它在调查阶段被阻止了... Mac OS10.12.6 节点8.11.1 Selenium Server 3.12.0 Selenium WebDriver 4.0.0 ChromeDriver 2.38 3.安装selenium-server 通过自制安装 4.安装ChromeDriver $selenium-server-port 44

  • 我的任务是创建一个名为MyRectangle的类来表示矩形。 所需的数据字段是宽度、高度和颜色。宽度和高度使用双数据类型,颜色使用字符串。然后编写一个程序来测试MyRectangle类。在客户端程序中,创建两个MyRectangle对象。为两个对象中的每一个指定宽度和高度。将第一个对象指定为红色,将第二个对象指定为黄色。显示两个对象的所有属性,包括其面积。 我已经写了所有的东西,没有错误,但是无论

  • 我只是通过udemy课程学习开发应用程序。并且学习创建一个简单的货币转换器,代码看起来和课程中的一模一样,但是他们的吐司起作用了,而我的却不行。

  • 问题内容: 环境:Ubuntu x86_64(14.10),Oracle JDK 1.8u25 我尝试使用的并行流,但我想要第一行(这是带有标头的CSV文件)。因此,我尝试这样做: 但是随后一列无法解析为一个整数… 所以我尝试了一些简单的代码。文件问题很简单: 代码也同样简单: 我 系统地 得到了以下结果(好的,我只运行了大约20次): 我在这里想念什么? 编辑 似乎问题或误解根源远不止于此(以下

  • 问题内容: 我正在尝试使用杰克逊对POJO进行序列化和反序列化。从POJO到JSON可以完美地工作,而从另一个方向去则不行。 我有一个POJO 并运行和测试我运行了calendar.model包; 引发异常 我已经尽力将JSON转换为POJO了,但是没有。如果我从JSON映射到Map类型,它确实可以工作。 谢谢您的帮助 编辑 这是我依赖中的杰克逊的grep 看起来除了jackson2之外,没有其他

  • 我有一个测试类,这个错误让我抓狂: org.springframework.beans.factory.unsatisfieddependencyexception:创建名称为bean时出错。imprimirrelatorio:通过字段存储库表示的不满足依赖项;嵌套异常为org.springframework.beans.factory.noSuchBeanDefinitionException: