价值https://test.com 无法将类型为java.lang.String的at url转换为JSONObject

价值https://test.com 无法将类型为java.lang.String的at url转换为JSONObject,java,android,json,Java,Android,Json,我试图通过调用下面的getResponseString方法来获取url作为字符串,但我一直遇到这个错误 如有任何帮助或建议,将不胜感激 错误: JSONException:Valuehttps://test.com 无法将类型为java.lang.String的at destinationUrl转换为JSONObject JSON: 代码: 试试看{ JSONObject responseBodyJSON=新的JSONObject(responseBody); if(responseBodyJS

我试图通过调用下面的getResponseString方法来获取url作为字符串,但我一直遇到这个错误

如有任何帮助或建议,将不胜感激

错误:

JSONException:Valuehttps://test.com 无法将类型为java.lang.String的at destinationUrl转换为JSONObject

JSON:

代码:

试试看{
JSONObject responseBodyJSON=新的JSONObject(responseBody);
if(responseBodyJSON.length()<1){
抛出新的JSONException(“响应为空”);
}else if(responseBodyJSON.length()==1){
返回responseBodyJSON.getJSONObject(responseBodyJSON.keys().next()).toString();
}否则{
返回响应体;
}
}捕获(JSONException e){
抛出新的JsonParseException(e);
}

您可以直接获取字符串:

 try {
        JSONObject responseBodyJSON = new JSONObject(responseBody);
        return responseBodyJSON.getString("destinationUrl");
    } catch (JSONException e) {
        throw new JsonParseException(e);
    }

我使用kotlin作为解决方案,yan在这里使用java转换,像这样使用json解析器

gradle:implementation'com.googlecode.json-simple:json-simple:1.1.1'

import org.json.simple.parser.*

var parser   = JSONParser()
val jsonTree = parser.parse(responseBody)
在创建json树对象之后,您可以将其转换为您的模型

在这里您可以看到json树对象,您可以分别获得字段值



您是从internet还是从手动数据获取JSON?检查数据是否已成功加载这没有帮助,因为它对有效负载/响应的动态响应键没有帮助。这就是转换为JSONObject的原因。
 try {
        JSONObject responseBodyJSON = new JSONObject(responseBody);
        return responseBodyJSON.getString("destinationUrl");
    } catch (JSONException e) {
        throw new JsonParseException(e);
    }
import org.json.simple.parser.*

var parser   = JSONParser()
val jsonTree = parser.parse(responseBody)