如何从JavaScript中的json获取特定数据?

如何从JavaScript中的json获取特定数据?,javascript,json,google-maps,Javascript,Json,Google Maps,我想从谷歌地理编码API的结果中获取纬度和经度,但我不知道如何使用json获取纬度和经度。谷歌地理编码的结果如下: [{ 'address_components': [{ 'long_name': 'Macau', 'short_name': 'MO', 'types': ['country', 'locality', 'political'] }], 'formatted_address': 'Macau', 'geometry': { 'bounds': {

我想从谷歌地理编码API的结果中获取纬度和经度,但我不知道如何使用json获取纬度和经度。谷歌地理编码的结果如下:

[{
'address_components': [{
    'long_name': 'Macau',
    'short_name': 'MO',
    'types': ['country', 'locality', 'political']
}],
'formatted_address': 'Macau',
'geometry': {
    'bounds': {
        'northeast': {
            'lat': 22.2170639,
            'lng': 113.6127001
        },
        'southwest': {
            'lat': 22.1066001,
            'lng': 113.5276053
        }
    },
    'location': {
        'lat': 22.198745,
        'lng': 113.543873
    },
    'location_type': 'APPROXIMATE',
    'viewport': {
        'northeast': {
            'lat': 22.2170639,
            'lng': 113.6127001
        },
        'southwest': {
            'lat': 22.1066001,
            'lng': 113.5276053
        }
    }
},
'place_id': 'ChIJ88g14uB6ATQR9qyFtCzje8Y',
'types': ['country', 'locality', 'political']
}]
我只想使用:

'location': {
        'lat': 22.198745,
        'lng': 113.543873
    },

并将它们保存在两个变量中。我如何才能做到这一点?

您可以通过以下对象进行访问:

const json = JSON.parse("<your_json>"); // your json between ""
将JSON复制到“文本”选项卡中,然后查看查看器选项卡

您将看到JSON字符串的树视图

地点:

var obj = // your whole json object
var obj = JSON.parse(jsonString) // if you have JSON string not the object. 
然后

这里有一个数组,因此首先,我们访问索引为0的第一个元素,
obj[0]
t然后是几何体
obj[0]。几何体
,然后是位置
obj[0]。几何体。位置

JSON构建在两种结构上:

  • 名称/值对的集合。在各种语言中,这是作为对象、记录、结构、字典、哈希表、键控列表或关联数组实现的
  • 值的有序列表。在大多数语言中,这是以数组、向量、列表或序列的形式实现的

  • []表示阵列
  • {}表示对象。(键:值对)
var a=['a','b',{'c':'i是键c的值','d':'i是键d的值'},10];
log('数组元素:a[0]=',a[0]);
log('访问对象的内部属性:a[2].c=',a[2].c');
log('访问属性的另一种方式:a[2][\'c\']=',a[2]['c']);
console.log('使用.notation访问似乎很容易:a[2].d=',a[2].d);

log('数组元素可以是字符串、数字、对象、数组等:a[3]=',a[3])解析json,然后访问数据?真的,你的问题是什么?如何使用JSON?外面有很多导游there@FedericoklezCulloca是的,但我已经尝试了很多,都失败了,然后展示你的尝试,否则我们可能会建议不适用于你的用例的解决方案。第一个字符是a[,所以整个东西就是一个数组。在数组中,我们有一个{,所以数组的第一个元素是一个对象。该对象有一个名为geometry的属性,它也是一个对象(因为初始{)。该几何体对象有一个名为location的属性,该属性具有您要查找的lat/long属性。因此,无论将此数据放入哪个变量,您都需要访问数组第0个元素的几何体属性的location属性的纬度和经度属性!
const json=;
这就是我生气的原因当人们调用JSON时,什么才是真正的对象文本。@Federico klez Culloca我们也可以分析字符串以防万一谢谢你的回答,它是有效的。但是[0]是什么意思呢?因为JSON有[]如果你认为这是一个坏的,键入在匆忙中。它不是真正的字符串,而是对象。谢谢你抓住它。OP说它是JSON,所以OP是不精确的,或者你的代码应该在访问它之前解析它。选择一个:
var obj = // your whole json object
var obj = JSON.parse(jsonString) // if you have JSON string not the object. 
var location = obj[0].geometry.location;