我很难从这个数组中获取数据。有人可以告诉我怎么做吗?
我需要从latLng
中获取AdminArea4
和locations
以获取自动填充功能。
有人可以解释{}
和[]
之间的区别。据我所知,一个是数组,另一个是对象,但我不确定这是不对的。该过程是否与遍历数组而不是对象不同?
{
"results": [
{
"locations": [
{
"latLng": {
"lng": 24.873108,
"lat": 59.389755
},
"adminArea4": "Harju maakond",
"adminArea5Type": "City",
"adminArea4Type": "County",
"adminArea5": "Rae vald",
"street": "",
"adminArea1": "EE",
"adminArea3": "",
"type": "s",
"displayLatLng": {
"lng": 24.873108,
"lat": 59.389755
},
"linkId": 0,
"postalCode": "",
"sideOfStreet": "N",
"dragPoint": false,
"adminArea1Type": "Country",
"geocodeQuality": "CITY",
"geocodeQualityCode": "A5XXX",
"adminArea3Type": "State"
},
{
"latLng": {
"lng": 24.860184,
"lat": 59.38493
},
"adminArea4": "Harju maakond",
"adminArea5Type": "City",
"adminArea4Type": "County",
"adminArea5": "Rae",
"street": "",
"adminArea1": "EE",
"adminArea3": "",
"type": "s",
"displayLatLng": {
"lng": 24.860184,
"lat": 59.38493
},
"linkId": 0,
"postalCode": "",
"sideOfStreet": "N",
"dragPoint": false,
"adminArea1Type": "Country",
"geocodeQuality": "CITY",
"geocodeQualityCode": "A5XXX",
"adminArea3Type": "State"
},
]
}
]
}
答案 0 :(得分:2)
首先对阵列和对象进行了一些解释,因为您已经提出过,并且它与如何使用您拥有的数据结构非常相关:
{}
定义了一个对象。 []
定义了一个数组。
对象是属性/值对的无序列表,没有重复属性名称。
数组是具有.length
属性的单个项的有序列表,用于告诉您数组中有多少项。
对象的定义如下:
var obj = {
prop1: value1,
prop2: value2
};
并且,您可以引用这样的值:
console.log(obj.prop1); // value1
数组的定义如下:
var myArray = ["one", "two", "three"];
并且,您可以通过基于零的索引访问元素,如下所示:
console.log(myArray[0]); // "one"
或者,您可以像这样迭代数组中的所有项:
for (var i = 0; i < myArray.length; i++) {
console.log(myArray[i]);
}
假设您的整体数据结构位于名为data
的变量中,您可以像这样迭代结果和嵌套位置数组:
var results = data.results;
var locations;
for (var j = 0; j < results.length; j++) {
locations = results[j].locations;
for (var i = 0; i < locations.length; i++) {
console.log(locations[i].latLng);
console.log(locations[i].adminArea4);
}
解释:
data.results
是您需要迭代的数组。latLng
属性和adminArea4
属性的对象。答案 1 :(得分:1)
它的json结构..您可以访问我在下面提到的元素。将json分配给变量然后访问对象属性。
var obj = {
"results": [
{
"locations": [
{
"latLng": {
"lng": 24.873108,
"lat": 59.389755
},
"adminArea4": "Harju maakond",
"adminArea5Type": "City",
"adminArea4Type": "County",
"adminArea5": "Rae vald",
"street": "",
"adminArea1": "EE",
"adminArea3": "",
"type": "s",
"displayLatLng": {
"lng": 24.873108,
"lat": 59.389755
},
"linkId": 0,
"postalCode": "",
"sideOfStreet": "N",
"dragPoint": false,
"adminArea1Type": "Country",
"geocodeQuality": "CITY",
"geocodeQualityCode": "A5XXX",
"adminArea3Type": "State"
},
{
"latLng": {
"lng": 24.860184,
"lat": 59.38493
},
"adminArea4": "Harju maakond",
"adminArea5Type": "City",
"adminArea4Type": "County",
"adminArea5": "Rae",
"street": "",
"adminArea1": "EE",
"adminArea3": "",
"type": "s",
"displayLatLng": {
"lng": 24.860184,
"lat": 59.38493
},
"linkId": 0,
"postalCode": "",
"sideOfStreet": "N",
"dragPoint": false,
"adminArea1Type": "Country",
"geocodeQuality": "CITY",
"geocodeQualityCode": "A5XXX",
"adminArea3Type": "State"
},
]
}
]
};
Travsering Values
obj.results[0].locations[0].latLng.lng
obj.results[0].locations[0].latLng.lat
您也可以使用for循环遍历。