Разбор строки, которая на самом деле является массивом - PullRequest
0 голосов
/ 02 ноября 2018

Я анализирую ajax-запрос, возвращаемое значение которого

"[ { message: 'Rate limit exceeded', code: 88 } ]"

Поскольку значение является строкой, я не могу извлечь дополнительное значение кода из объекта - например, я хотел бы сделать что-то вроде response.code, чтобы получить 88. Любые идеи?

Ответы [ 2 ]

0 голосов
/ 02 ноября 2018

Если вы попытаетесь разобрать эти данные, как это

var obj = "[ { message: 'Rate limit exceeded', code: 88 } ]";
var myJSON = JSON.parse(obj);

Вы получите ошибку как "Unexpected token m in JSON at position 4"

Ваш JSON не в правильном формате. Примерно так будет работать

var obj = '[{"message": "Rate limit exceeded", "code": 88}]';
var myJSON = JSON.parse(obj);

alert(myJSON[0].code); // will print 88
0 голосов
/ 02 ноября 2018

"[ { message: 'Rate limit exceeded', code: 88 } ]" не является допустимой строкой JSON. Вы должны сделать исправление в API, чтобы получить ответ:

'[ {"message": "Rate limit exceeded", "code": 88 } ]'

Тогда вы можете использовать JSON.parse().

var response = '[ {"message": "Rate limit exceeded", "code": 88 } ]';
response = JSON.parse(response);
console.log(response[0].code);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...