如何获得JSON密钥和价值?

imd*_*sen 47 asp.net jquery json

我编写了以下代码来从webservice获取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..
                   }
            });
        }
Run Code Online (Sandbox Code Playgroud)

以下是来自webservice的回复: 在此输入图像描述

请帮我打印Key和它的价值

no.*_*ing 95

看起来你回来了一个阵列.如果它总是只包含一个元素,那么你可以这样做(是的,它与Tomalak的答案几乎相同):

$.each(result[0], function(key, value){
    console.log(key, value);
});
Run Code Online (Sandbox Code Playgroud)

如果你可能有多个元素并且你想迭代它们,你可以嵌套$.each():

$.each(result, function(key, value){
    $.each(value, function(key, value){
        console.log(key, value);
    });
});
Run Code Online (Sandbox Code Playgroud)


Tom*_*lak 11

$.each(result, function(key, value) {
  console.log(key+ ':' + value);
});
Run Code Online (Sandbox Code Playgroud)


Dav*_*ard 10

首先,我看到你正在使用一个明确的$.parseJSON().如果那是因为您在服务器端手动序列化JSON,请不要.ASP.NET将自动JSON序列化您的方法的返回值,jQuery也会自动反序列化它.

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

var firstItem = response.d[0];

for(key in firstItem) {
  console.log(key + ':' + firstItem[key]);
}
Run Code Online (Sandbox Code Playgroud)

如果有多个项目(很难从该屏幕截图中看出来),那么您可以循环response.d然后在该外部循环中使用此代码.