2017-05-06 90 views
0

需要Json帮助,我对JsonArray和JsonObject感到困惑。我想获得formatted_phone_numberAndroid JsonObject检索

{ 
"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); 
+0

结果不是一个数组 –

回答

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); 
+0

非常感谢!它的工作原理 – KidPPAP

+0

很高兴知道。请接受我的回答,如果它解决了您的问题,请给予加票 – FAT

+0

不要忘记给予upvote :) – FAT