当前位置: 首页 > 知识库问答 >
问题:

从JSON字符串中检索null和非null字符串值

狄德泽
2023-03-14

我有一个正在解析的JSON字符串,我想检索字段“pr_num”的值。我收到这个错误:

JSONObject["pr_num"] is not a JSONArray.

我的代码如下:

JSONObject obj = new JSONObject(jsonString);

JSONArray data = obj.getJSONArray("pr_num");
JSONObject obj1= data.getJSONObject(0);
System.out.println("JSON CONTENTS ARE"+obj1.getString("pr_num"));

我想获取字段的值,它们是690052和null。

jsonString如下所述

[{
    "executed_by": "vishnuc",
    "testplan_id": 17372,
    "pr_num": "690052"
},
{
    "executed_by": "kkavitha",
    "testplan_id": 17372,
    "pr_num": null

}]

共有1个答案

仲孙绍元
2023-03-14

jsonString是一个json格式的数组,因此首先必须将其放入json数组(而不是json对象)

JSONArray obj = new JSONArray(jsonString);

现在您可以遍历obj数组

for(int i=0;i<obj.length();i++){
 System.out.println("content one: " + obj.getJSONObject(i).getString("pr_num"));
}

希望这有帮助。

 类似资料:
  • 问题内容: 我正在开发一个使用JSON进行服务器通信的Android应用,当我尝试解析json文件时遇到了一个奇怪的问题。 这是我来自服务器的json 我通过调用地址Json-object 获得City的价值。对于这种情况,我期望为空(这是optString的意思吗?),但实际上它包含字符串“ null”。因此,进一步的null或isEmpty- checks将返回false,因为String包含

  • 问题内容: 我有以下代码 输出为。 Java如何完成字符串连接的技巧? 问题答案: 因为Java将表达式转换为类似 实际上,我认为它可能使用s,因此: 解决更高效 这使用“ 字符串”构建器上的方法(针对每种类型),这些方法可以正确处理

  • 我正在开发一个使用JSON进行服务器通信的Android应用程序,当我试图解析我的json文件时,我遇到了一个奇怪的问题。 这是来自服务器的json 我通过调用字符串City=address来获取City的值。我的地址Json对象上的optString(“city”,“”)。对于这种情况,我希望城市是空的(这就是optString在这里的目的,不是吗?)但实际上它包含字符串“null”。因此,进一

  • 问题内容: 测试其他人的代码后,我注意到一些JSP页面打印了时髦的非ASCII字符。深入了解源代码,我发现了这个花絮: 在Java中用null字符替换String中的字符是否还能工作?我知道这将终止C字符串。这是时髦人物的罪魁祸首吗? 问题答案: 在Java中用null字符替换String中的字符是否还能工作?我知道’\ 0’将终止c字符串。 这取决于您如何定义有效的方法。是否用替换所有出现的目标

  • 在控制台中获得以下结果: 添加项:null 因此,我希望通过将addedItemName字符串与“null”字符串进行比较来知道何时单击了close按钮。这似乎永远不会奏效,而且让我很沮丧,因为我真的不明白。下面是我做的一些其他测试,以展示我如何尝试各种不同的方法,但仍然不起作用。 假的 假的 因此,基本上,console向我显示,当单击关闭按钮时,addedItemName是“null”,但当我

  • 这可能是非常基本的东西,但我很难弄清楚我哪里出错了。 我试图从帖子正文中获取一个字符串,但“jsonString”只显示为null。我还想避免使用模型,但这可能是不可能的。我与PostMan接触到的一段代码是: 也许这是我在postman上做得不正确的地方,但我一直在尝试在body-x-www-form-urlencoded部分的值部分使用“=test”(如在有关此主题的其他问题中看到的),键为j