为了账号安全,请及时绑定邮箱和手机立即绑定

尝试解析 JSON 数据时出现此错误 W/System.err: org.json.

尝试解析 JSON 数据时出现此错误 W/System.err: org.json.

慕田峪7331174 2023-06-04 17:48:25
我正在尝试从我的休息 api 中检索客户对象。我使用 spring data jpa 生成了 api。我已经使用 volley 从 api 中检索信息。我不知道我做错了什么。因为我是 android 的新手,所以我不太清楚。有人可以帮我从我的 Json api 中解析客户对象吗?我的 api 看起来像这样:{  "_embedded": {    "customers": [      {        "firstName": "Alexander",        "lastName": "arnold",        "email": "trentarnold@liverpool.com",        "password": "cornertakenquickly",        "_links": {          "self": {            "href": "http://localhost:8080/api/customers/1"          },          "customer": {            "href": "http://localhost:8080/api/customers/1"          }        }      },      {        "firstName": "test",        "lastName": "tester",        "email": "dulalsujan911@gmail.com",        "password": "12345678",        "_links": {          "self": {            "href": "http://localhost:8080/api/customers/2"          },          "customer": {            "href": "http://localhost:8080/api/customers/2"          }        }      }    ]  },  "_links": {    "self": {      "href": "http://localhost:8080/api/customers{?page,size,sort}",      "templated": true    },    "profile": {      "href": "http://localhost:8080/api/profile/customers"    }  },  "page": {    "size": 20,    "totalElements": 2,    "totalPages": 1,    "number": 0  }}
查看完整描述

2 回答

?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

做这个 :


@Override

    public void onResponse(JSONObject response) {


            try {

               JSONObject json = new JSONObject(response); 

               JSONObject json_embedded = json.getJSONObject("_embedded");// need to access JSONObject("_embedded")

               JSONArray jsonArray = json_embedded.getJSONArray("customers"); // then get JSONARRAY

                for(int i=0; i<jsonArray.length();i++){

                    JSONObject customer = jsonArray.getJSONObject(i);

                    emailList.add(customer.getString("email"));

                    passwordList.add(customer.getString("password"));

                }


            } catch (Exception e) {

               e.printStackTrace();

            }

    }

注意:您的 json 数组(customers)在_embedded中,这就是它显示异常的原因。


查看完整回答
反对 回复 2023-06-04
?
阿晨1998

TA贡献2037条经验 获得超6个赞

您需要先访问_embedded对象。


try {

    JSONObject embedded = response.getJSONObject("_embedded");

    JSONArray jsonArray = embedded.getJSONArray("customers");

    for(int i=0; i<jsonArray.length();i++){

        JSONObject customer = jsonArray.getJSONObject(i);

        emailList.add(customer.getString("email"));

        passwordList.add(customer.getString("password"));

    }

} catch (Exception e) {

    e.printStackTrace();

}


查看完整回答
反对 回复 2023-06-04
  • 2 回答
  • 0 关注
  • 153 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信