发现JSON.parse()只能转换jsonobject而无法直接转换jsonarray的问题

举个例子,现有一段字符串

var str = "[{\"name\":\"铅笔\"},{\"name\":\"钢笔\"}]";
var array = JSON.parse(str);

这样直接转换出来,array.length会是0,转换失败。

解决方法

var str = "[{\"name\":\"铅笔\"},{\"name\":\"钢笔\"}]";
var obj = JSON.parse("{\"datas\":" + str + "}");
var array = obj.datas;

先在jsonarray外部增加一个jsonobject转换完成后再取出jsonarray,这样就解决了。

上一篇:【问题总结(19)】this.xxx与xxx, JSON.stringify([data]),JSON.parse(),_ob _: Observer


下一篇:本地存储localstorage