如何在JSONArray响应中返回Hashmap?

时间:2019-04-12 12:29:19

标签: android

我想从 JSONArray响应的外部访问HashMap中的电子邮件电话。我该怎么办?

我尝试制作全局变量并为其分配值。它没有用。

    JsonArrayRequest request1 = new JsonArrayRequest(Request.Method.GET,
            url,
            null,
            new Response.Listener<JSONArray>() {
                @Override
                public void onResponse(JSONArray response) {
                    List<HashMap<String, String>> list = new ArrayList<>();
                    for (int i = 0; i < response.length(); i++) {
                        try {
                            JSONObject obj = response.getJSONObject(i);
                            HashMap<String, String> map = new HashMap();
                            map.put("email", obj.getString("email"));
                            map.put("phone", obj.getString("phone"));

                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }

                }
            },

            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    Toast.makeText(HomeActivity.this, "Error"+error, Toast.LENGTH_SHORT).show();

                }
            });

1 个答案:

答案 0 :(得分:0)

在课程的顶层声明HashMap<String, String> map = new HashMap();

并在您的JsonArrayRequest

中使用它
@Override
                public void onResponse(JSONArray response) {
                    List<HashMap<String, String>> list = new ArrayList<>();
                    for (int i = 0; i < response.length(); i++) {
                        try {
                            JSONObject obj = response.getJSONObject(i);                              
                            map.put("email", obj.getString("email"));
                            map.put("phone", obj.getString("phone"));

                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }

                }