Получить значение из объекта данных в формате JSONP
Просто когда я думаю, что у меня есть повод идентифицировать элемент в объекте, я сталкиваюсь со сценарием, который, кажется, не может получить желаемое значение.
Эта часть работает, и возвращаемые данные верны: у меня есть карта, и когда я пытаюсь идентифицировать здание на карте, я получаю следующий объект json (он был сокращен для удобства чтения, но в реальной жизни он правильно отформатирован): Функция MapClick(queryResults) вызывается при нажатии на карту.
dojo.io.script.jsonp_dojoIoScript19._jsonpCallback({
"results": [
{
"layerId": 5,
"layerName": "Building",
"value": "Name of item clicked",
"displayFieldName": "name",
"attributes": {
"ID": "123",
"name": "Name of item clicked",
"Variable1": "Some bit of information",
"Variable2": "Some other bit of information",
...
...
Все, что я пытаюсь сделать, это вернуть либо results[0].value
ИЛИ ЖЕ results[0].attributes.name
который в этом примере должен вернуть "Название элемента нажал". LayerId, layerName, value и displayFieldName являются "наиболее часто используемыми данными", поэтому они возвращаются, но та же информация также содержится в атрибутах.
я пробовал console.log(results[1].attributes.name);
а также console.log(results)
без успеха.
1 ответ
Получается, что имя функции, обрабатывающей MapClicked, является запросом queryResults, поэтому правильный ответ: queryResults[0].value
и когда вы видите открытые скобки [
, вы можете быть уверены, что вам понадобится [
какое-то число ]
(например queryResults[0].value
или же queryResults[99].someothervariable
, Или, по крайней мере, я думаю, что это правильное утверждение.