Я использую JQuery для получения данных о городе из геоданных. Моя проблема в том, когда я хочу извлечь значение для элементов sub-array при использовании функции отображения JQuery.Карта JQuery и JSON - Получение элементов вспомогательных элементов
В этом примере, если я хочу получить ссылку в Википедии, как я могу это сделать?
Я пробовал: википедии: item.alternateNames.lang [ 'ссылка']
, но не ожидал, что это будет действительно работать. Кто-нибудь знает, кто я могу извлечь элементы sub-массива?
Вот биты кода:
JSON РЕЗУЛЬТАТ
"geonames": [{
"alternateNames": [
{
"name": "Rancho Cucamonga",
"lang": "en"
},
{
"name": "91739",
"lang": "post"
},
{
"name": "http://en.wikipedia.org/wiki/Rancho_Cucamonga%2C_California",
"lang": "link"
}
],
adminCode2": "071",
"countryName": "United States",
"adminCode1": "CA",
"fclName": "city, village,...",
"elevation": 368,
"score": 0.9999999403953552,
"countryCode": "US",
"lng": -117.5931084,
"adminName2": "San Bernardino County",
"adminName3": "",
"fcodeName": "populated place",
JQuery:
$("#city").autocomplete({
source: function(request, response) {
$.ajax({
url: "http://ws.geonames.org/searchJSON",
dataType: "jsonp",
data: {
featureClass: "P",
style: "full",
maxRows: 12,
name_startsWith: request.term
},
success: function(data) {
response($.map(data.geonames, function(item) {
return {
label: item.name + (item.adminName1 ? ", " + item.adminName1 : "") + ", " + item.countryName,
value: item.name,
latitude: item.lat,
longitude: item.lng,
// problem here: how to get the value for the alternateNames.lang where lang = link
wikipedia: item.alternateNames.lang['link']
}
}))
}
})
},
В качестве примечания, в формате JSON ваш отсутствующий цитату перед adminCode2. –
Извините, что пришло от резки и вставки кода, так как я не хотел помещать все данные в сообщение. По фактическим данным он есть. – Frank