0

我在 Google 表格中使用 JSON 来查找 Zip 并找到县。我只想把县城还回来。我可以让它返回每个值,以便 ImportJSON 函数正常工作。

这是我的公式。我已经尝试了参考的所有排列,但我只是不知道如何格式化它。

=ImportJSON(CONCATENATE("https://maps.googleapis.com/maps/api/geocode/json?address="92660), "results/address_components/long_name[3]", "noHeaders")

这是来自 Google Maps Geocoding API 的 JSON 数据。我只想要县长的名字。在本例中,它是“橙县”。

{
       "results" : [
          {
             "address_components" : [
                {
                   "long_name" : "92660",
                   "short_name" : "92660",
                   "types" : [ "postal_code" ]
                },
                {
                   "long_name" : "Newport Beach",
                   "short_name" : "Newport Beach",
                   "types" : [ "locality", "political" ]
                },
                {
                   "long_name" : "Orange County",
                   "short_name" : "Orange County",
                   "types" : [ "administrative_area_level_2", "political" ]
                },
                {
                   "long_name" : "California",
                   "short_name" : "CA",
                   "types" : [ "administrative_area_level_1", "political" ]
                },
                {
                   "long_name" : "United States",
                   "short_name" : "US",
                   "types" : [ "country", "political" ]
                }
             ],
             "formatted_address" : "Newport Beach, CA 92660, USA",
             "geometry" : {
                "bounds" : {
                   "northeast" : {
                      "lat" : 33.671823,
                      "lng" : -117.841337
                   },
                   "southwest" : {
                      "lat" : 33.6040739,
                      "lng" : -117.909447
                   }
                },
                "location" : {
                   "lat" : 33.6301328,
                   "lng" : -117.8721676
                },
                "location_type" : "APPROXIMATE",
                "viewport" : {
                   "northeast" : {
                      "lat" : 33.671823,
                      "lng" : -117.841337
                   },
                   "southwest" : {
                      "lat" : 33.6040739,
                      "lng" : -117.909447
                   }
                }
             },
             "place_id" : "ChIJRdSajSne3IAR8T4A2x-wgrE",
             "types" : [ "postal_code" ]
          }
       ],
       "status" : "OK"
    }
4

2 回答 2

2

有 3 件事阻止它正确导入:

  1. 特别是在您拥有的连接功能中address="92660

应该是address=",92660

或者您可以完全消除 concat 函数并像这样格式化 url:

"https://maps.googleapis.com/maps/api/geocode/json?address="&"92660"

或技术上指向单元格,例如 A1,其92660值为例如"https://maps.googleapis.com/maps/api/geocode/json?address="&A1

  1. 你错过了/前面的开始results

  2. 为了获得第三项,而不是使用[3],将公式包装在索引函数中并引用索引3

完整的东西:

=index(importjson("https://maps.googleapis.com/maps/api/geocode/json?address="&A1,"/results/address_components/long_name","noHeaders"),3)

在此处输入图像描述

于 2016-05-07T05:58:32.810 回答
0

您没有提供很多细节,但是仅解析 json,然后执行 results["address_components"][2]["long_name"] 怎么样?

于 2016-05-06T15:54:47.960 回答