如何将json/array从中的ajax responseText转换为javascript数组

how to convert json/array from ajax responseText in to javascript array?

本文关键字:responseText ajax 转换 数组 javascript json array      更新时间:2023-09-26

我在代码中使用了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);

但这段代码没有给我任何输出
我该怎么做这两件事?

大多数浏览器都支持JSON.parse()。它的用法很简单:


obj = JSON.parse(xmlhttp.responseText);
alert(obj.length);

对于没有的浏览器,您可以使用json2.js.

来实现它

试试这个:

var arr = xmlhttp.responseText.Split(',');

如果它不能解决您的问题,那么在php代码中,使用简单的json_encode(your array);,在javascript上,使用myData= eval("(" + xmlHttp.responseText + ")");

我建议你采用这种方法:

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

var myObject = eval('(' + myJSONtext + ')');

var myObject = JSON.parse(myJSONtext, reviver);

注意:将json2 javascript文件包含到您的解决方案中。。

将值存储在数组中从php到AJAX 的问题

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

为了实现ajax,我强烈建议您使用一些库,最好是jQuery。

http://api.jquery.com/jQuery.ajax/