价值https://test.com 无法将类型为java.lang.String的at url转换为JSONObject
我试图通过调用下面的getResponseString方法来获取url作为字符串,但我一直遇到这个错误 如有任何帮助或建议,将不胜感激 错误:价值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
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)