java - 如何从 json google place api 检索 "locality"

标签 java json api google-maps google-maps-api-3

如何从 json google place api 检索“地点”

在此 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" ]
     }

我使用此代码来获取“lat”和“lng”:

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

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

我如何获得“位置”值?我正在使用java。

谢谢,

卡洛斯。

最佳答案

我按照你的方式。

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();

原来的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" ]
     }
    ]
   }
}

关于java - 如何从 json google place api 检索 "locality",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11816694/

相关文章:

java - 使用 ClassLoader 加载资源

java - 创建对象使 VM 更快?

java - 这样的同步不会阻止并发

javascript - AJAX 返回错误 JSON 输入意外结束

java - 联盟搜索算法

javascript - 通过 React.js 中的 API 调用返回名称

ios - JSON解析奇数节点

api - 自定义播客提要的 SoundCloud mp3 链接和文件长度

rest - Agora IO云录制resourceId为null得到400响应

ruby-on-rails - Rails 应用程序中的 CSRF 服务于 HTML 并为其他客户端(例如 iOS)公开 API