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

如何在JQuery中将json响应读取为名称-值对,json,jquery,getjson,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:8

我想在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中硬编码。类似于在响应中循环获取每个名称和值。有什么建议吗

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

需要注意的是,属性的迭代顺序是任意的,不应依赖于此。

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

像这样容易:

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

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