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

如何检查JSON密钥是否存在?

松元明
2023-03-14

所以,我从服务器上获得了一些JSON值,但我不知道是否会有一个特定的字段。

比如:

{ "regatta_name":"ProbaRegatta",
  "country":"Congo",
  "status":"invited"
}

有时,会有一个额外的字段,如:

{ "regatta_name":"ProbaRegatta",
  "country":"Congo",
  "status":"invited",
  "club":"somevalue"
}

我想检查名为“club”的字段是否存在,这样在解析时我就不会得到

组织。json。JSONException:俱乐部没有价值

共有3个答案

周辉
2023-03-14

您可以JSONObject#have,提供key作为输入并检查该方法是否返回truefalse。您也可以

使用optString而不是getString

如果存在,则返回按名称映射的值,必要时强制它。如果不存在此类映射,则返回空字符串

董胡媚
2023-03-14

您可以通过这种方式检查'HAS'-如果此对象具有名称映射,则返回true。映射可能为NULL。

if (json.has("status")) {
   String status = json.getString("status"));
}

if (json.has("club")) {
   String club = json.getString("club"));
}

还可以使用“isNull”进行检查——如果此对象没有名称映射,或者其值为NULL,则返回true。

if (!json.isNull("club"))
    String club = json.getString("club"));
潘文乐
2023-03-14

JSONObject类有一个名为“has”的方法:

http://developer.android.com/reference/org/json/JSONObject.html#has(java.lang.String)

如果此对象具有名称映射,则返回true。映射可能为空。

 类似资料:
  • 我想验证检查密钥是否存在。 有时,会有一个额外的字段,如: 所以我想检查“联系人”键是否存在

  • 问题内容: 我陷入一种情况,我需要检查嵌套JSON对象中是否存在密钥。通过嵌套的JSON对象,我在父JSON对象中具有一个JSON对象作为其键之一的值。所以我需要检查此密钥是否存在于整个JSON对象中。我将以下数据作为对象。我知道我可以解析此对象以获得JSON对象。 我已经使用方法来检查主要JSON对象中密钥的存在,并且它可以工作。但是对于检查任何内部JSON对象(例如“ info”),我需要再次

  • 问题内容: 因此,我从服务器获取了一些JSON值,但我不知道是否会有特定的字段。 像这样: 有时,还会有一个额外的字段,例如: 我想检查名为“ club”的字段是否存在,以便在解析时不会得到 org.json.JSONException:club的值 问题答案: JSONObject类具有一个名为“ has”的方法: http://developer.android.com/reference/o

  • 我不熟悉shell脚本,我有一个用于导入cert和使用keytool导入keystore的脚本。此脚本位于Pod中,有时我必须重新启动Pod,有时当此脚本运行时,我会出现此错误 现有条目别名服务器存在,覆盖?[no]:输入新别名(返回以取消此条目的导入): 我知道有命令列出别名 它给出了输出 服务器,2022年6月22日,PrivateKeyEntry,证书指纹(SHA-256):AC:DC:12

  • 假设这是我的 我需要知道这个对象中是否存在“video”,如果存在,我需要获取这个键的值。我试过跟随,但我无法得到这把钥匙的价值。