gpt4 book ai didi

java - 字符串无法转换为 JSON - Android

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

我正在尝试将我的响应从 POST 转换为 JSON。这就是我正在做的事情:

InputStream is = connection.getInputStream();
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
String line;
StringBuilder response = new StringBuilder();
while((line = rd.readLine()) != null) {
response.append(line).append("\r");
}
rd.close();
Log.i(TAG, response.toString());
JSONObject jsonObject = new JSONObject(response.toString());

但是我收到错误java.lang.String无法转换为JSONObject

但是如果我创建一个字符串,String string;,然后粘贴我记录的内容并将其设置为等于string,然后尝试

JSONObject jsonObject = new JSONObject(string);

它有效,那么为什么当我粘贴记录的响应时它有效,但当我只使用 response.toString(); 时它不起作用?

在 logcat 中,它看起来像这样 {"url": "www.google.com"}。然后当我将其粘贴到 string = "{\"url\":\"www.google.com\"}";

感谢您的帮助

最佳答案

我以前遇到过这个问题,试试这个:

new JSONObject(json.substring(json.indexOf("{"), json.lastIndexOf("}") + 1));

if (response != null && response.startsWith("\ufeff")) {  
in = in.substring(1);
}

服务器的响应包含 BOM header

关于java - 字符串无法转换为 JSON - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31130944/

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