如何在JQuery中读取json响应作为名称值对

时间:2010-10-04 20:03:11

标签: json jquery getjson

我想在我的JQuery代码中读取json响应作为名称和值对。这是我从我的java代码返回的示例JSON响应:

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

在我的JQuery中,如果我写jsonResponse.name1,我将得到"value1"的值。这是我的JQuery代码

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

这里我想从jsonResponse中读取"name1",而不是在JQuery中读取硬编码。通过响应获取每个名称和值来循环。有什么建议吗?

3 个答案:

答案 0 :(得分:12)

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

重要的是要注意,迭代属性的顺序是任意的,不应该依赖它。

答案 1 :(得分:7)

这很容易:

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

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

答案 2 :(得分:5)

您可以使用responseData['name1']。容易。