简体   繁体   English

如何从JSON Google Places API中检索“位置”

[英]How retrieve “locality” from json google places api

How retrieve "locality" from json google places api 如何从JSON Google Places API检索“位置”

in this json response: 在这个json响应中:

{
   "html_attributions" : [],
   "result" : {
      "address_components" : [
         {
            "long_name" : "1623",
            "short_name" : "1623",
            "types" : [ "street_number" ]
         },
     {
        "long_name" : "1/2 N Cahuenga Boulevard",
        "short_name" : "1/2 N Cahuenga Boulevard",
        "types" : [ "route" ]
         },
         {
            "long_name" : "Los Angeles",
            "short_name" : "Los Angeles",
            "types" : [ "locality", "political" ]
         },
         {
            "long_name" : "CA",
            "short_name" : "CA",
            "types" : [ "administrative_area_level_1", "political" ]
         },
         {
            "long_name" : "US",
            "short_name" : "US",
            "types" : [ "country", "political" ]
         },
     {
        "long_name" : "90028",
        "short_name" : "90028",
        "types" : [ "postal_code" ]
     }

i am using this code to get "lat" and "lng" : 我正在使用此代码来获取“ lat”和“ lng”:

            JSONObject jsonLocation = c.getJSONObject("geometry").getJSONObject("location");

            places_latitude = jsonLocation.getString("lat");
            places_longitude = jsonLocation.getString("lng");

how do i get the "locality" value ? 如何获得“位置”值? i'am using java. 我正在使用Java。

Thank you, 谢谢,

Carlos. 卡洛斯

I follow your way. 我跟着你走

JSONArray address_components = c.getJSONObject("result").getJSONArray("address_components");

JSONObject obj = address_components.getJSONObject(2)
/*
 obj is 
  {
            "long_name" : "Los Angeles",
            "short_name" : "Los Angeles",
            "types" : [ "locality", "political" ]
   }
 */
String your_result = obj.getJSONArray("types").get(0).toString();

The original json should be 原始json应该是

{
   "html_attributions" : [],
   "result" : {
      "address_components" : [
         {
            "long_name" : "1623",
            "short_name" : "1623",
            "types" : [ "street_number" ]
         },
     {
        "long_name" : "1/2 N Cahuenga Boulevard",
        "short_name" : "1/2 N Cahuenga Boulevard",
        "types" : [ "route" ]
         },
         {
            "long_name" : "Los Angeles",
            "short_name" : "Los Angeles",
            "types" : [ "locality", "political" ]
         },
         {
            "long_name" : "CA",
            "short_name" : "CA",
            "types" : [ "administrative_area_level_1", "political" ]
         },
         {
            "long_name" : "US",
            "short_name" : "US",
            "types" : [ "country", "political" ]
         },
     {
        "long_name" : "90028",
        "short_name" : "90028",
        "types" : [ "postal_code" ]
     }
    ]
   }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM