gpt4 book ai didi

java - JSON.getString 不返回 null

转载 作者:IT老高 更新时间:2023-10-28 20:53:32 30 4
gpt4 key购买 nike

我有一个从服务器返回的响应,我期待一个字符串值,所以我写了这个来解析它

public String getMessageFromServer(JSONObject response) {
String msg = response.getString("message");
return msg;
}

然后,当我在我的代码中使用它并从服务器获取 null 值时,该函数不返回 null,它返回 "null " 代替。

我看过this bug report ,但我没有看到解决方案。

编辑:

我有一个小技巧可以解决这个问题,但它很难看,我正在寻找更好的解决方案:

public String getMessageFromServer(JSONObject response) {
Object msg = response.get("message");
if(msg == null) {
return null;
}
return (String) msg;
}

编辑 #2:

多年后,回到这个问题,我发现我在这里并没有完全错,并且 JSONObject 有一个内置的方法。

JSONObject 获取可选值的方法是使用 this method JSONObject.optString("message", DEF_VALUE);

最佳答案

hack 看起来适合您的情况。

另一种选择是使用 boolean isNull(String key) 方法,然后根据返回的 boolean 值继续您的选择。比如:

public String getMessageFromServer(JSONObject response) {
return ((response.has("message") && !response.isNull("message"))) ? response.getString("message") : null;
}

但是,我认为您当前的实现与此之间没有太大区别。

关于java - JSON.getString 不返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13118146/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com