如何检查jsonobject是否包含布尔值或空值?

时间:2011-02-22 05:51:40

标签: android json

我正在研究json解析器。在json响应中,一些值包含布尔值或空值,然后如何检查它是布尔值还是空值?例如:user = false或user = null。在解析时,它给出了异常,因为“用户不是jsonobject”。

JSONObject json = new JSONObject(query);
JSONObject info = json.getJSONObject("info");
JSONObject user = info.getJSONObject("user");

谢谢, Vishakha。

4 个答案:

答案 0 :(得分:1)

您是否尝试过ingo.optBoolean(“user”)?

来自optBoolean的SDK文档: 返回按名称映射的值(如果存在)并且是布尔值或可以强制转换为布尔值。否则返回false。

请注意,在此示例中,null将被视为false值。

答案 1 :(得分:0)

我认为问题可能是您正在尝试使用getJSONObject()获取JSONArray。尝试json.getJSONArray(“info”)。我有同样的问题,我试图做(如果(object.getJSONObject(“string”)== null)但它在尝试让对象检查其值时抛出异常,并且.optBoolean完美地工作

答案 2 :(得分:0)

JSONObject json = new JSONObject(data); 
String user = json.getString("user");
variable.setUser(courses_icon_file_name == null ? "": user);

答案 3 :(得分:0)

isNull()您可以使用if(json.isNull("user")||your conditions)