我尝试在javaScript中将字符串转换为json数组,但我不能。这是我的代码:
var strImg = "[{"a":"bc","b":"gh},{"a":"bc","b":"bc"}]";
var images = JSON.parse(strImg);
但我只得到strImg的每个字符的数组;
我打电话的时候:console.log(images[0]); it return "[";
我不知道该怎么做。
感谢您的帮助。
答案 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是否缺少符号。