jgg
jgg

Reputation: 1136

How to read json response as name value pairs in JQuery

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?

Upvotes: 7

Views: 47185

Answers (3)

Arnaud F.
Arnaud F.

Reputation: 8452

It's easy like this:

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

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

Upvotes: 7

Jacob Relkin
Jacob Relkin

Reputation: 163238

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

Upvotes: 5

Darin Dimitrov
Darin Dimitrov

Reputation: 1038780

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.

Upvotes: 12

Related Questions