繁体   English   中英

JSON.parse输出一个字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM