Arpi Patel
Arpi Patel

Reputation: 785

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

I have used ajax in the code which works perfectly and give me json or array which ever I want as an output. the code I have used is,

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

var test = xmlhttp.responseText;
alert(test);

This test variable gives me json/array.

I want to get the data which I received in the test variable in the JavaScript array.

The question is, how can I decode json data in javascript array? I have used the code as,

var output = new Array();  
output = json_decode(xmlhttp.responseText);

but this code is not giving me any output.
How can I do this two things?

Upvotes: 22

Views: 90401

Answers (3)

Niranjan Singh
Niranjan Singh

Reputation: 18290

Try this:

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

If it does not solve your problem then in your php code, use simple json_encode(your array); and on javascript, use myData= eval("(" + xmlHttp.responseText + ")"); .

I suggest you to follow this approach:

Encode the data you want to send by using a PHP binding for JSON at the server and decode the same using Javascript library for JSON. as:

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

or

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

Note: Include json2 javascript file to your solution..

Problem with storing values in Array from php to AJAX

Upvotes: 17

Jashwant
Jashwant

Reputation: 28995

json is nothing but javascript object notation. You just need to parse it as suggested by Sudhir. You can also use jQuery.parseJSON for it.

And to do ajax, I strongly suggest you to use some library, preferably jQuery.

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

Upvotes: 2

Sudhir Bastakoti
Sudhir Bastakoti

Reputation: 100175

Most browsers support JSON.parse(). Its usage is simple:


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

For the browsers that don't you can implement it using json2.js.

Upvotes: 32

Related Questions