gpt4 book ai didi

javascript - 如何在 JavaScript 中从 json 中获取特定数据?

转载 作者:行者123 更新时间:2023-11-30 20:47:08 27 4
gpt4 key购买 nike

我想从 google geocoding 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
},

并将它们保存在两个变量中。我怎样才能做到?

最佳答案

将您的 JSON 复制到 http://jsonviewer.stack.hu/在“文本”选项卡中查看“查看器”选项卡。

您将看到 JSON 字符串的 TreeView 。

位置是:

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;

这里有一个数组,所以首先,我们访问索引 = 0 的第一个元素,obj[0] 然后是几何 obj[0].geometry 和然后是位置 obj[0].geometry.location

JSON 建立在两种结构上:

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

Read More

  • [ ]表示数组。
  • { } 表示对象。 (键:值对)

var a = ['a', 'b', {'c': 'i am value of key c', 'd': 'i am value of key d'}, 10];

console.log('Array element: a[0] = ', a[0]);
console.log('Access inside property of object: a[2].c = ', a[2].c);
console.log('Another way of accessing property: a[2][\'c\'] = ', a[2]['c']);
console.log('Accessing with . notation seems easy: a[2].d = ', a[2].d);
console.log('Array element can be string, number, obj, array, etc: a[3] = ', a[3]);

检查你的例子:

var a = [  
{
'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'
]
}
];

// way 1
var locObj1 = a[0]['geometry']['location'];
// way 2
var locObj2 = a[0].geometry.location;

console.log("Way1: a[0]['geometry']['location'] = ", locObj1);
console.log("Way2: a[0].geometry.location = ", locObj1);

关于javascript - 如何在 JavaScript 中从 json 中获取特定数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48586275/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com