[英]JSON.parse is outputting a string
这里发生了什么?
var data = '"[2743,1,1,1,1,1]"';
var flags = JSON.parse(data);
console.log(typeof flags); // this outputs "string"
我期望flags
是一个对象或数组,但这是一个字符串。 MDN Web文档说:“ JSON.parse()方法解析JSON字符串,构造JavaScript值或该字符串描述的对象。” 也:
返回值
与给定JSON文本相对应的Object。例外情况
如果要解析的字符串无效的JSON,则引发SyntaxError异常。
var data = '"[2743,1,1,1,1,1]"';
这是一个包含字符串的字符串。 当您解析时
var result = JSON.parse(data);
你得到的是字符串
"[2743,1,1,1,1,1]"
如果您第二次解析,则将获得标志数组。
尝试这个
var flags = JSON.parse(JSON.parse(data));
看起来像是一个对象,一切正常,请检查代码段:
var data = '[2743,1,1,1,1,1]'; var flags = JSON.parse(data); console.log(typeof flags); console.log(flags);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.