今天在android4.4.2(android-19)平台上做Json数据解析的时候碰到了这样一个问题:
返回的数据为:{"message":null}
当使用:JSONObject jsonObj = new JSONObject(jsonMessage);
String message=jsonObj.getString("message");
本以为message 是空值(null)
结果总不能如愿,最后发现:getString(),如果value是空值,那么这个方法会返回一个“null"字面量,而不是null对象。
源码:
/**
* Returns the value mapped by {@code name} if it exists, coercing it if
* necessary.
*
* @throws JSONException if no such mapping exists.
*/
public String getString(String name) throws JSONException {
Object object = get(name);
String result = JSON.toString(object);
if (result == null) {
throw JSON.typeMismatch(name, object, "String");
}
return result;
}