收到一串JSON数据,想从里面解析出需要的成分。很奇怪的是,里面的字符串明明就是null,解析出来的结果确实"null",造成了很大的困扰。
JSON数据:
data{
"name": "shawn1992",
"address": null
}
解析代码:
JSONObject data = obj.optJSONObject("data");
String nameString = data.optString("name");
String addressString = data.optString("address");
解析结果:
nameString = "shawn1992";
address = "null";
解决办法:
其实,JsonObject有一个方法是判断value是否为空,JsonObject.isNull(key)。所以解决办法也很简单,在解析前进行处理一下就可以。
public static String optString(JSONObject json, String key)
{
if (json.isNull(key))
return null;
else
return json.optString(key, null);
}