解析实际上是数组的字符串

时间:2018-11-02 09:46:17

标签: javascript arrays string

我正在解析一个返回值为ajax的请求

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

因为值是一个字符串,所以我无法从对象中获得额外的代码值-例如,我想做类似response.code的事情来获得88。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

"[ { 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);

答案 1 :(得分:0)

如果您尝试像这样解析此数据

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