Как мне получить доступ к значению свойства массива? - PullRequest
0 голосов
/ 08 июля 2019

Как получить доступ к значению, хранящемуся в свойстве description , с помощью javascript?

Как видно на рисунке ниже (снимок экрана из консоли браузера), сохраненное значение равно [STK_CB -] Запрос отменен пользователем

the strange JSON response

В консоли браузера я попытался console.log(responseMan.payload["0"].jsonPayload.description);, который показывает undefined.Куда я иду не так?

С нетерпением жду вашей помощи.

Ответы [ 3 ]

1 голос
/ 08 июля 2019

просто удалите "из индекса и сделайте это следующим образом:

вы также должны сначала разыграть json

const jsonStr = responseMan.payload[0].jsonPayload;
const data = JSON.parse(jsonStr);
console.log(data.description);
1 голос
/ 08 июля 2019

Значение jsonPayload является строкой, а не объектом - обратите внимание на двойные кавычки вокруг него. И название свойства подразумевает, что это JSON. Вам необходимо вызвать JSON.parse(), чтобы преобразовать его в объект.

var payload = JSON.parse(responseMan.payload[0].jsonPayload);
console.log(payload.description);
0 голосов
/ 08 июля 2019

Проблема в вашем JSON. Потому что вы пытаетесь получить доступ к responseMan.payload ["0"]. JsonPayload вверх есть правильный элемент в JSON. Но описание является строковым значением в responseMan.payload ["0"]. Поэтому JsonPayload должен отформатировать содержимое responseMan.payload ["0"]. JsonPayload для объекта json. Пример var obj = JSON.parse (responseMan.payload ["0"]. JsonPayload); так что описание будет объектом json

OR

Вы можете исправить этот json в своем бэкенде и отправить этот раздел как json, а не как строку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...