发现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,这样就解决了。

posted @ 2021-09-18 15:23  郝维明  阅读(465)  评论(0编辑  收藏  举报