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

本文来自博客园,作者:郝维明,转载请注明原文链接:https://www.cnblogs.com/haoweiming/p/15308865.html

原文地址:https://www.cnblogs.com/haoweiming/p/15308865.html