JavaScript将String转换为json数组,但是从字符串中获取每个字符的get数组?

时间:2018-06-16 17:18:25

标签: javascript arrays json

我尝试在javaScript中将字符串转换为json数组,但我不能。这是我的代码:

var strImg = "[{"a":"bc","b":"gh},{"a":"bc","b":"bc"}]";
var images = JSON.parse(strImg);

但我只得到strImg的每个字符的数组; 我打电话的时候:console.log(images[0]); it return "["; 我不知道该怎么做。 感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

问题可能是您仅使用"而不是"'

var strImg = "[{"a":"bc","b":"gh},{"a":"bc","b":"bc"}]";
var images = JSON.parse(strImg);

尝试:

var strImg = '[{"a":"bc","b":"gh},{"a":"bc","b":"bc"}]';
var images = JSON.parse(strImg);

现在,'代表整个字符串,并且它不是在错误的子字符串之间划分。 (注意红色文字如何在帖子中)。

答案 1 :(得分:0)

您的“字符串”看起来不像字符串。

> JSON.parse('[{"a":"bc","b":"gh"},{"a": "bc","b": "bc"}]');
< [{a: "bc", b: "gh"}, {a: "bc", b: "bc"}] (2)

您需要在字符串中转义引号或使用不同的引号...

P.S。 您还可以使用类似https://jsonlint.com的内容来验证您的JSON是否缺少符号。