views:

57

answers:

3

I want to read json response as name and value pairs in my JQuery code. Here is my sample JSON response that I return from my java code:

String jsonResponse = "{"name1":"value1", "name2:value2"};

in my JQuery, if I write jsonResponse.name1, I will get value as "value1". Here is my JQuery code

$.ajax({
    type: 'POST',
    dataType:'json',
    url: 'http://localhost:8080/calculate',
    data: request, 
    success: function(responseData) {
        alert(responseData.name1);
    },
    error: function(XMLHttpRequest, textStatus, errorThrown) {
        //TODO  
    }
});

Here I want to read "name1" from jsonResponse instead of hardcoding in JQuery. Something like looping throug the response getting each name and value. Any suggestions?

+5  A: 
success: function(responseData) {
    for (var key in responseData) {
        alert(responseData[key]);
    }
}

It is important to note that the order in which the properties will be iterated is arbitrary and shouldn't be relied upon.

Darin Dimitrov
Yes, it works! Thank you very much.
goutham
+2  A: 

You can just use responseData['name1']. Easy.

Jacob Relkin
A: 

Hello,

It's easy like this:

json = {"key1": "value1", "key2": "value2" };

$.each(json, function(key, value) { alert(key + "=" + value); });

Arnaud F.