Android 无法分析JSON REST API响应

Android 无法分析JSON REST API响应,android,json,rest,json-api,wordpress-json-api,Android,Json,Rest,Json Api,Wordpress Json Api,我从URL获得了JSON REST API响应。 现在我无法解析JSON数据。 我尝试了许多解决方案,但无法获得数据。 响应非常混乱,但它包含所需的数据。 所有JSON对象都在一个数组中 以下是JSON响应: [{"umeta_id":"1","user_id":"1","meta_key":"nickname","meta_value":"zfdz"},{"umeta_id":"2","user_id":"1","meta_key":"first_name","meta_value":""},

我从URL获得了JSON REST API响应。
现在我无法解析JSON数据。
我尝试了许多解决方案,但无法获得数据。
响应非常混乱,但它包含所需的数据。
所有JSON对象都在一个数组中

以下是JSON响应:

[{"umeta_id":"1","user_id":"1","meta_key":"nickname","meta_value":"zfdz"},{"umeta_id":"2","user_id":"1","meta_key":"first_name","meta_value":""},{"umeta_id":"3","user_id":"1","meta_key":"last_name","meta_value":""},{"umeta_id":"4","user_id":"1","meta_key":"description","meta_value":""},{"umeta_id":"5","user_id":"1","meta_key":"rich_editing","meta_value":"true"},{"umeta_id":"6","user_id":"1","meta_key":"comment_shortcuts","meta_value":"false"},{"umeta_id":"7","user_id":"1","meta_key":"admin_color","meta_value":"fresh"},{"umeta_id":"8","user_id":"1","meta_key":"use_ssl","meta_value":"0"},{"umeta_id":"9","user_id":"1","meta_key":"show_admin_bar_front","meta_value":"true"}]
代码“

if(jsonStr!=null){
试一试{
JSONObject jsonObj=新的JSONObject(jsonStr);
//获取JSON数组节点
JSONArray contacts=jsonObj.getJSONArray(“”);
//通过所有触点循环
对于(int i=0;i
JSON是有效的,我使用在线工具进行了检查。
但是我想在我的应用程序中使用这些数据。

我做错了什么?

首先。
jsonObj.getJSONArray(“”;
…密钥不能是空字符串。*

您的整个响应是一个
JSONArray
,因为它以
[
字符开头,而不是
{
字符,所以您不应该使用它

JSONObject jsonObj = new JSONObject(jsonStr); 
但是你用这个,删除另一行

JSONArray contacts = new JSONArray(jsonStr); 
然后从那里开始for循环

相关-



*代码可能还有其他问题,但你没有说明这些问题是什么

代码运行良好我可以在android中收到响应,但它有很多json字符串,你能给我一个例子,如何获得我感兴趣的feild,你所有的其他东西都很好。为什么你认为没有?因为它给出了异常unab要解析json,请再次查看已编辑的问题是否可以使用实际的异常消息再次编辑?现在您已经获得了JSONArray(一个JSONObject数组),您可以对每个对象进行迭代,并使用对象上的getter方法来获得所需的字段,如
jsonObj.getString(“meta_值”)
jsonObj.getLong(“用户id”)
JSONArray contacts = new JSONArray(jsonStr);