0

在 Json 方面需要帮助,我对 JsonArray 和 JsonObject 感到困惑。我想得到formatted_phone_number

{
"html_attributions" : [],
"result" : {
  "address_components" : [
     {
        "long_name" : "Jalan Hang Tuah",
        "short_name" : "Jalan Hang Tuah",
        "types" : [ "route" ]
     },
     {
        "long_name" : "Malacca",
        "short_name" : "Malacca",
        "types" : [ "locality", "political" ]
     },
     {
        "long_name" : "Malacca",
        "short_name" : "Malacca",
        "types" : [ "administrative_area_level_1", "political" ]
     },
     {
        "long_name" : "Malaysia",
        "short_name" : "MY",
        "types" : [ "country", "political" ]
     },
     {
        "long_name" : "75300",
        "short_name" : "75300",
        "types" : [ "postal_code" ]
     }
  ],
  "adr_address" : "GF Plaza Melaka 75300, \u003cspan class=\"street-address\"\u003eJalan Hang Tuah\u003c/span\u003e, \u003cspan class=\"postal-code\"\u003e75300\u003c/span\u003e \u003cspan class=\"locality\"\u003eMalacca\u003c/span\u003e, \u003cspan class=\"country-name\"\u003eMalaysia\u003c/span\u003e",
  "formatted_address" : "GF Plaza Melaka 75300, Jalan Hang Tuah, 75300 Malacca, Malaysia",
  "formatted_phone_number" : "06-283 3380",
  "geometry" : {
     "location" : {
        "lat" : 2.20419,
        "lng" : 102.246
     },
     "viewport" : {
        "northeast" : {
           "lat" : 2.205572530291502,
           "lng" : 102.2474190302915
        },
        "southwest" : {
           "lat" : 2.202874569708499,
           "lng" : 102.2447210697085
        }
     }
  },
  "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png",
  "id" : "5d05ce9257a424bf07f273b0ef364d1bc5af4ac7",
  "international_phone_number" : "+60 6-283 3380",
  "name" : "Farmasi Kota Sdn Bhd",
  "place_id" : "ChIJ0SROVNDx0TERO7ni_qrZCdY",
  "rating" : 5,
  "reference" : "CmRSAAAADNPBz3cWAdcK41-O2nZhqFcOemuzReuXzO6983nZsz8An5vvNT6OVnow-ubgARNQpnGf7sr3sjo6mwDwW6UNFGYdQn_7KoS215c96rHpX1cqMdGxchZDL_iHCO5-A1aVEhCHcLga4gbpUh2eBHTX7vwiGhT5u3MPZH7h_GLA7hRJvrS2QFEuAg",
  "reviews" : [
     {
        "aspects" : [
           {
              "rating" : 3,
              "type" : "overall"
           }
        ],
        "author_name" : "Cheng Qi",
        "author_url" : "https://www.google.com/maps/contrib/102025986299133647688/reviews",
        "language" : "zh",
        "profile_photo_url" : "https://lh6.googleusercontent.com/-UcpciRqEdas/AAAAAAAAAAI/AAAAAAAAAAA/AHalGhrBhb2yrqf8dUuj-I6-Ioz9HQtf0w/s128-c0x00000000-cc-rp-mo/photo.jpg",
        "rating" : 5,
        "relative_time_description" : "5 months ago",
        "text" : "",
        "time" : 1478565315
     }
  ],
  "scope" : "GOOGLE",
  "types" : [
     "pharmacy",
     "hospital",
     "health",
     "store",
     "point_of_interest",
     "establishment"
  ],
  "url" : "https://maps.google.com/?cid=15423097727350913339",
  "utc_offset" : 480,
  "vicinity" : "GF Plaza Melaka 75300, Jalan Hang Tuah, Malacca"
},
"status" : "OK"
}

这是我的代码。

JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, URL,
                    new Response.Listener<JSONObject>() {
                        @Override
                        public void onResponse(JSONObject response) {
                            try {
                                JSONArray jsonArray = response.getJSONArray("result");

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


                                    String name = result.getString("name");
                                    String formatted_phone_number= result.getString("formatted_phone_number");
                                    textView.append(name + " " + " " + formatted_phone_number+ "\n");

                                }

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

                            }
                        }
                    },
                    new Response.ErrorListener() {
                        @Override
                        public void onErrorResponse(VolleyError error) {
                            Log.e("VOLLEY ", "ERROR");
                        }
                    });
            requestQueue.add(jsonObjectRequest);
4

1 回答 1

2

试试这个:

JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, URL,
                new Response.Listener<JSONObject>() {
                    @Override
                    public void onResponse(JSONObject response) {
                        try {
                             JSONObject result = response.getJSONObject("result");

                             String name = result.getString("name");
                             String formatted_phone_number= result.getString("formatted_phone_number");
                             textView.append(name + " " + " " + formatted_phone_number+ "\n");

                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        Log.e("VOLLEY ", "ERROR");
                    }
                });
        requestQueue.add(jsonObjectRequest);
于 2017-05-06T17:37:09.160 回答