在 Javascript 中解析和提取 JSON

Parsing and extracting JSON in Javascript

本文关键字:提取 JSON Javascript      更新时间:2023-09-26

我正在使用谷歌地理编码API并尝试获取值:9.081999,以及8.6752769999999999 分别在以下 Google 地理编码 Java 脚本中的 JSON 数据。

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Nigeria",
               "short_name" : "NG",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Nigeria",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 13.8856449,
                  "lng" : 14.677982
               },
               "southwest" : {
                  "lat" : 4.2464428,
                  "lng" : 2.676932
               }
            },
            "location" : {
               "lat" : 9.081999,
               "lng" : 8.675276999999999
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 13.8856449,
                  "lng" : 14.677982
               },
               "southwest" : {
                  "lat" : 4.2464428,
                  "lng" : 2.676932
               }
            }
         },
         "partial_match" : true,
         "place_id" : "ChIJDY2kfa8LThARyAvFaEH-qJk",
         "types" : [ "country", "political" ]
      }
   ],
   "status" : "OK"
}

但是当我这样做时:

var myJSONResult = $.parseJSON(request.responseText);
var myAddress = Array();
for (i = 0; i < myJSONResult.results.length; i++) {
        myAddress[i] = myJSONResult.results[i].geometry.location;
}

它返回Undefined

任何帮助不胜感激,谢谢。

试试这个

var myJSONResult = request.responseText;
var myAddress = Array();
for (i = 0; i < myJSONResult.results.length; i++) {
        myAddress[i] = myJSONResult.results[i].geometry.location;
}

无需使用 $.parseJSON() ,因为您的响应已经是一个 JSON 对象。