使用不带TAG的Android Volley进行JSON数组解析

时间:2019-01-13 16:18:18

标签: android json android-volley

如何使用Android Volley解析以下JSON?

[     {         “ msg”:“成功”,         “ id”:“ 1542”,         “ firstname”:“ Sam”,         “ lastname”:“ Benegal”,         “电子邮件”:“ bs@gmail.com”,         “ mobile”:“ 8169830000”,         “ appapikey”:“ f82e4deb50fa3e828eea9f96df3bb531”     } ]

2 个答案:

答案 0 :(得分:0)

这看起来很像标准的JSON,因此Volley的JsonObjectRequestJsonArrayRequest请求类型应该为您解析它。例如:

JsonArrayRequest request = new JsonArrayRequest(
        Request.Method.GET,
        "https://yoururl",
        null,
        new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONArray response) {
                JSONObject msg1 = response.getJSONObject(0);
                String firstName = msg.getString("firstname") // Sam
            }
        },
        new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                // TODO
            }
        }
);

从文档改编而成的代码示例,这里:https://developer.android.com/training/volley/request#request-json

答案 1 :(得分:0)

尝试

StringRequest stringRequest = new StringRequest(URL,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {

                        try {
                            JSONArray jsonArray1 = new JSONArray(response);
                            for (int i = 0; i < jsonArray1.length(); i++) {

                                JSONObject object = jsonArray1.getJSONObject(i);

                                {
                                    Toast.makeText(this, ""+object.getString("msg")+"\n"+object.getString("id"), Toast.LENGTH_SHORT).show();

                                }
                            }

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

                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_LONG).show();
                    }
                });

        RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());
        requestQueue.add(stringRequest);