因此,我从服务器获得了一些JSON值,但我不知道是否会有特定的字段。
就像这样:
{ "regatta_name":"ProbaRegatta",
"country":"Congo",
"status":"invited"
}
有时,还会有一个额外的字段,如:
{ "regatta_name":"ProbaRegatta",
"country":"Congo",
"status":"invited",
"club":"somevalue"
}
我想检查名为"club“的字段是否存在,以便在解析时不会得到
org.json.JSONException:俱乐部
没有价值
发布于 2013-07-05 18:57:32
JSONObject类有一个名为“has”的方法:
http://developer.android.com/reference/org/json/JSONObject.html#has(java.lang.String)
如果此对象具有名称的映射,则
返回true。映射可能为NULL。
发布于 2013-07-05 19:07:54
你可以通过这种方式检查' has‘-如果这个对象有一个name的映射,返回true。映射可能为空。
if (json.has("status")) {
String status = json.getString("status"));
}
if (json.has("club")) {
String club = json.getString("club"));
}
如果这个对象没有
的映射,或者它有一个值为空的映射,你也可以使用'isNull‘来检查,返回true。
if (!json.isNull("club"))
String club = json.getString("club"));
发布于 2013-07-05 18:56:01
您可以使用JSONObject#has
,提供key
作为输入并检查该方法返回的是true
还是false
。你也可以
使用optString
而不是getString
返回按名称映射的值(如果存在),并在必要时强制执行该值。如果不存在此类映射,则返回空字符串
https://stackoverflow.com/questions/17487205
复制相似问题