Как получить ключ JSON и стоимость?
Я написал следующий код, чтобы получить результат JSON от webservice.
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]()
Пожалуйста, помогите мне распечатать Ключ и его значение
Ответы
Ответ 1
Похоже, вы возвращаете массив. Если он всегда будет состоять всего из одного элемента, вы можете это сделать (да, это почти то же самое, что и ответ Томалака):
$.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);
});
});
Ответ 2
$.each(result, function(key, value) {
console.log(key+ ':' + value);
});
Ответ 3
Во-первых, я вижу, что вы используете явный $.parseJSON()
. Если это связано с тем, что вы вручную сериализуете JSON на стороне сервера, не делайте этого. ASP.NET автоматически преобразует JSON в значение возвращаемого метода, и jQuery автоматически будет десериализовать его для вас.
Чтобы перебрать первый элемент в массиве, который у вас есть, используйте следующий код:
var firstItem = response.d[0];
for(key in firstItem) {
console.log(key + ':' + firstItem[key]);
}
Если имеется более одного элемента (это трудно сказать из этого снимка экрана), вы можете перебрать response.d
и затем использовать этот код внутри этого внешнего цикла.