2013-11-11 3 views
0

Я работаю над приложением android, которое делает запрос к местам google (подробности) и получает объект json взамен. Вот объект https://developers.google.com/places/documentation/details#PlaceDetailsResponsesИзвлечь информацию из json on после получения информации о поиске google

`{ 
    "html_attributions" : [], 
    "result" : { 
     "address_components" : [ 
     { 
      "long_name" : "48", 
      "short_name" : "48", 
      "types" : [ "street_number" ] 
     }, 
     { 
      "long_name" : "Pirrama Road", 
      "short_name" : "Pirrama Road", 
      "types" : [ "route" ] 
     }, 
     { 
      "long_name" : "Pyrmont", 
      "short_name" : "Pyrmont", 
      "types" : [ "locality", "political" ] 
     }, 
     { 
      "long_name" : "NSW", 
      "short_name" : "NSW", 
      "types" : [ "administrative_area_level_1", "political" ] 
     }, 
     { 
      "long_name" : "AU", 
      "short_name" : "AU", 
      "types" : [ "country", "political" ] 
     }, 
     { 
      "long_name" : "2009", 
      "short_name" : "2009", 
      "types" : [ "postal_code" ] 
     } 
     ], 
     "events" : [ 
     { 
      "event_id" : "9lJ_jK1GfhX", 
      "start_time" : 1293865200, 
      "summary" : "<p>A visit from author John Doe, who will read from his latest book.</p> 
         <p>A limited number of signed copies will be available.</p>", 
      "url" : "http://www.example.com/john_doe_visit.html" 
     } 
     ], ETC` 

Как я могу получить конкретные детали из этого JSON. Если я попробую json.getJSONArray("result"), то он говорит мне, что json не из этого типа, или если я попробую json.getString("results"), он не говорит о значении для результатов. Итак, как я могу извлечь информацию, например, для short_name и т. Д.?

Заранее спасибо

ответ

0

Вы должны попробовать, как

json.getJSONObject("result"); 

Как получить SHORT_NAME

JSONObject json=new JSONObject("json"); 
      JSONObject result=json.getJSONObject("result"); 
      JSONArray array=result.getJSONArray("address_components"); 
      for(int i=0;i<array.length();i++) 
      { 
       JSONObject obj = array.getJSONObject(i); 
       String short_name=obj.getString("short_name"); 
       System.out.println("Short Name:"+short_name); 
      } 
+0

Спасибо очень много. Это был способ сделать это. – user2829419

+0

@ user2829419 Всегда приветствую .. рад помочь вам .. –