gpt4 book ai didi

java - 检查 JSONObject 返回 null

转载 作者:行者123 更新时间:2023-12-02 04:36:44 26 4
gpt4 key购买 nike

几个小时以来,我一直在努力解决一件看似简单的事情。我有一个简单的服务,可以从 API 发出并返回一些 json。在大多数情况下,成功的返回会产生如下内容:

{"userId":"GyOjEqOM97B","userName":"marcos","userPermissions":"admin"}

但在某些情况下,我很容易得到 null 响应。不是一个空的 JSON 数组,而是 null。我尝试对response.toString() 进行空检查,因为它返回空,但我从未在条件中使用 else 子句,它总是返回堆栈跟踪,并出现以下错误:

A JSONObject text must begin with '{' at character 1 of null

我也尝试了 isNull 方法,但得到了相同的结果。这是我的代码。任何我做错了什么的想法都必须是我所缺少的简单的东西。感谢您的帮助!

InputStream input = conn.getInputStream()
BufferedReader rd = new BufferedReader(new InputStreamReader(input))
String line
StringBuffer response = new StringBuffer();

while((line = rd.readLine()) != null) {
response.append(line)
}

if(response.toString() != null || response.toString() != "null"){
return new JSONObject(response.toString())
} else {
//do something else
}

最佳答案

if(response != null && !response.toString().equals("null")){
return new JSONObject(response.toString())
} else {
//do something else
}

请注意 && 而不是 || (我确信这就是您最初的意思)。

编辑

只需更仔细地阅读您的代码:您不需要第一个 null 检查,您知道 StringBuffer 不能为 null,并且它的 .toString() 也永远不会返回 null。因此,只需: if(!response.toString().equals("null")){}

关于java - 检查 JSONObject 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30655622/

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