如何获得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.. } }); } 

这里是来自webservice的回应在这里输入图像说明

请帮我打印键和它的价值

看起来你正在取回一个数组。 如果总是只包含一个元素,你可以这样做(是的,这和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); }); }); 
 $.each(result, function(key, value) { console.log(key+ ':' + value); }); 

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

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

 var firstItem = response.d[0]; for(key in firstItem) { console.log(key + ':' + firstItem[key]); } 

如果有多个项目(从截图中很难分辨出来),那么你可以遍历response.d ,然后在这个外部循环中使用这个代码。