0

我有一个 AJAX 调用,它返回一个string理想情况下应该是数组的数组

var jsonString = "[['name1', 30, 20], ['name2', 10, 100], ['name3', 140, 130]]";

这就是我得到的回报。我想将其转换为数组数组

var jsonArray = [['name1', 30, 20], ['name2', 10, 100], ['name3', 140, 130]];

显然string.split(",")不会工作,并给了我一个包含 9 个元素的数组。

我该如何解析这个?

我的小提琴:http: //jsfiddle.net/codovations/hgLJh/

4

3 回答 3

2

我检查了你的字符串,如果你确定你的字符串在数组元素中有 ' 而不是 ",你可以用 " 替换它们,然后你可以将它们解析为 json:

JSON.parse('[["name1", 30, 20], ["name2", 10, 100], ["name3", 140, 130]]');

返回数组数组。

问候。

于 2013-01-03T11:51:17.080 回答
1

使用JSON.parse()功能:

var jsonArray = JSON.parse(jsonString);

虽然请注意,这仅在您传递给它的字符串是有效的 JSON 时才有效。您提供的不是 - JSON 字符串用双引号括起来,而不是单引号。

于 2013-01-03T11:34:03.660 回答
1

使用此字符串,您可以使用:JSON.parse(jsonString.replace(/'/g,'"')).

于 2013-01-03T11:57:06.633 回答