Javascript 从JSON获取值

Javascript 从JSON获取值,javascript,json,google-maps-api-3,Javascript,Json,Google Maps Api 3,我有一个类似这样的JSON-- 我正在尝试获取lat和lng值。我怎么做 我的代码 results[0].geometry.location.lat or results[0].geometry.location.lng 不起作用。但当我只使用结果[0].geometry.location时,就会得到输出 我使用的JSON是-- 更新-- 这就是我向API发出请求的方式 geocoder.geocode( { 'address': search_addr},

我有一个类似这样的JSON--

我正在尝试获取lat和lng值。我怎么做

我的代码

     results[0].geometry.location.lat
  or results[0].geometry.location.lng
不起作用。但当我只使用结果[0].geometry.location时,就会得到输出

我使用的JSON是--

更新--

这就是我向API发出请求的方式

           geocoder.geocode( { 'address': search_addr}, function(results, status) {
            if (status == google.maps.GeocoderStatus.OK) {
                var t = results[0].geometry.location.lat;
            } else {
              alert('Geocode was not successful for the following reason: ' + status);
            }
谢谢

我用

alert(json.results[0].geometry.location.lat);
正如你在这把小提琴上看到的:


使用Google的JavaScript API时,通常不会直接与解析后的JSON交互,而是与包装器
对象进行交互

具体而言,
结果[0]。几何体。位置将是的一个实例。因此,
lat
lng
是将
返回值的方法,而不是保存值本身:

var geoLoc = results[0].geometry.location;
var lat = geoLoc.lat();
var lng = geoLoc.lng();

什么是
geometry
数据类型
,即它是
json
数组
,它实际上是
还是
在你的代码中?其余部分看起来是正确的。你有什么问题?错误?这是我写入警报(结果[0].geometry.location.lat]时获取的输出“”函数(){return This[a]}“”;请注意,
results
对象的属性。如果解析后的JSON存储在名为
results
的变量中,则查找可能需要以
results.results[0].geometry…
(对于每个变量和属性)。当我刚刚执行此警报(results[0].geometry.location)时,我得到的结果是(36.311882,-119.6589889),但无法访问单个元素谢谢。。我还发现,我可以使用以下代码“var lat=results[0]访问这些值;var lng=结果[0]。geometry.location.kb;“我觉得很奇怪..但非常感谢..@Fox您可以。这些似乎是
lat()
lng()的“私有”(或至少是内部使用)属性
可能是从中读取的。但是,如果您决定使用它们,请谨慎行事。因为它们不是文档化的属性,所以不能保证它们不会更改。
var geoLoc = results[0].geometry.location;
var lat = geoLoc.lat();
var lng = geoLoc.lng();