jQuery-如何获取JSON键和值?

我编写了以下代码来从Web服务获取JSON结果。

function SaveUploadedDataInDB(fileName) {
            $.ajax({
                type: "POST",
                url: "SaveData.asmx/SaveFileData",
                data: "{'FileName':'" + fileName + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (response) {
                    var result = jQuery.parseJSON(response.d);
                    //I would like to print KEY and VALUE here.. for example
                    console.log(key+ ':' + value)
                    //Addess : D-14 and so on..
                   }
            });
        }

这是来自webservice的响应:enter image description here

请帮助我打印密钥及其价值

imdadhusen asked 2020-02-21T19:38:11Z
3个解决方案
95 votes

好像您要返回一个数组。 如果它总是只包含一个元素,则可以执行此操作(是的,这与Tomalak的答案几乎一样):

$.each(result[0], function(key, value){
    console.log(key, value);
});

如果您可能有多个元素并且要遍历所有元素,则可以嵌套$.each()

$.each(result, function(key, value){
    $.each(value, function(key, value){
        console.log(key, value);
    });
});
no.good.at.coding answered 2020-02-21T19:38:29Z
11 votes
$.each(result, function(key, value) {
  console.log(key+ ':' + value);
});
Tomalak answered 2020-02-21T19:38:44Z
10 votes

首先,我看到您使用的是显式的response.d。如果那是因为您要在服务器端手动序列化JSON,请不要使用。 ASP.NET将自动对方法的返回值进行JSON序列化,而jQuery也会为您自动对其返回值进行反序列化。

要遍历数组中的第一项,请使用以下代码:

var firstItem = response.d[0];

for(key in firstItem) {
  console.log(key + ':' + firstItem[key]);
}

如果有多个项目(很难从该屏幕截图中看出),则可以循环遍历2757775682020312312064,然后在该外部循环中使用此代码。

Dave Ward answered 2020-02-21T19:39:14Z
translate from https://stackoverflow.com:/questions/7073837/how-to-get-json-key-and-value