将ajax返回的字符串转换为数组数组

时间:2013-01-03 11:32:13

标签: javascript ajax json parsing

我有一个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/

3 个答案:

答案 0 :(得分:2)

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

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

返回数组数组。

问候。

答案 1 :(得分:1)

使用JSON.parse()功能:

var jsonArray = JSON.parse(jsonString);

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

答案 2 :(得分:1)

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