JSON.getString 不返回 null
我有一个来自服务器的响应,我期望一个字符串值,所以我写了这个来解析它
public String getMessageFromServer(JSONObject response) {
String msg = response.getString("message");
return msg;
}
然后,当我在代码中使用它并从服务器获取值时,该函数不会返回,而是返回。null
null
"null"
我已经看到了这个错误报告,但我没有看到解决方案。
编辑:
我有一个小技巧来解决这个问题,但它很丑陋,我正在寻找一个更好的解决方案:
public String getMessageFromServer(JSONObject response) {
Object msg = response.get("message");
if(msg == null) {
return null;
}
return (String) msg;
}
编辑#2:
多年后,回到这个问题,我发现我在这里并没有完全错,并且有一个内置的方法。JSONObject
从 中获取可选值的方法是使用此方法JSONObject
JSONObject.optString("message", DEF_VALUE);