Получить значение из объекта данных в формате 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, Или, по крайней мере, я думаю, что это правильное утверждение.

Другие вопросы по тегам