我正在使用Java来解析来自服务器的JSON响应.我的最终目标是将结果中的数据放入数组中.目前我正在使用它来尝试获得结果:
JSONArray jArray = myResponse.getJSONArray("results");
Run Code Online (Sandbox Code Playgroud)
此代码失败,因为它正在查找对象数组,而不是字符串数组:
org.json.JSONException: Value blah at 0 of type java.lang.String cannot be converted to JSONObject
Run Code Online (Sandbox Code Playgroud)
这是我服务器的JSON响应:
{
status: "OK",
results: [
"blah",
"bleh",
"blah"
]
}
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法可以将"结果"值转换为数组?或者我应该编写自己的解析器.
谢谢
----------更新----------
看起来我的问题实际上发生在其他地方,而不是JSON属性"results"被转换为JSONArray的地方.
抱歉,感谢您的回答,他们帮助我意识到我在找错了地方.
这应该是它.所以你可能试图在结果aarray中获取JSONObject而不是String.
JSONObject responseObject = new JSONObject(responseString);
JSONArray resultsArray = responseObject.getJSONArray("results");
for (int i=0; i<resultsArray.length(); i++)
String resultString = resultsArray.getString(i);
Run Code Online (Sandbox Code Playgroud)