0

Google プレイス (詳細) にリクエストを送信し、その代わりに json オブジェクトを取得する Android アプリに取り組んでいます。ここにオブジェクトがありますhttps://developers.google.com/places/documentation/details#PlaceDetailsResponses

`{
   "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 などの情報を抽出するにはどうすればよいでしょうか?

前もって感謝します

4

1 に答える 1

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);
            }
于 2013-11-11T14:16:51.467 に答える