如何将json/array从ajax responseText-in转换为javascript数组?

如何将json/array从ajax responseText-in转换为javascript数组?,javascript,ajax,json,Javascript,Ajax,Json,我在代码中使用了ajax,它可以完美地工作,并提供我想要的任何json或数组作为输出。 我使用的代码是 xmlhttp=new XMLHttpRequest(); xmlhttp.open("GET","http://map_ajax_control.php",false); xmlhttp.send(); var test = xmlhttp.responseText; alert(test); 这个测试变量为我提供了json/array 我想获取JavaScript数组中测试变量中接收到

我在代码中使用了ajax,它可以完美地工作,并提供我想要的任何json或数组作为输出。 我使用的代码是

xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","http://map_ajax_control.php",false);
xmlhttp.send();

var test = xmlhttp.responseText;
alert(test);
这个测试变量为我提供了json/array

我想获取JavaScript数组中测试变量中接收到的数据

问题是,如何在javascript数组中解码json数据? 我把代码用作

var output = new Array();  
output = json_decode(xmlhttp.responseText);
但是这段代码没有给我任何输出。
我如何做这两件事?

大多数浏览器都支持。它的用法很简单:


obj = JSON.parse(xmlhttp.responseText);
alert(obj.length);
对于不支持的浏览器,您可以使用来实现它。

尝试以下方法:

var arr = xmlhttp.responseText.Split(',');
如果它不能解决您的问题,那么在php代码中,使用simple
json\u encode(您的数组)并在javascript上使用
myData=eval(“+xmlHttp.responseText+”)

我建议您遵循以下方法:

在服务器上使用对要发送的数据进行编码,并使用对其进行解码。 作为:

注意:在解决方案中包括json2 javascript文件


json只不过是javascript对象表示法。 您只需要按照Sudhir的建议解析它。 您还可以使用jQuery.parseJSON

要使用ajax,我强烈建议您使用一些库,最好是jQuery


我也使用过它。但它不起作用。它没有给我任何输出。如果只需要json ajax的逻辑,那么用整个jQuery库来衡量web应用就太过分了!我得到的是一个responseText对象,而不是一个简单的类型。使用这种方法(并且稍微了解对象),我可以提取字段d,这是我在本例中关心的布尔值。因此,请不要使用解码json的
eval
选项,这是一个明显的xss漏洞
var myObject = eval('(' + myJSONtext + ')');
var myObject = JSON.parse(myJSONtext, reviver);