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からの応答です:
キーとその価値を印刷するのを手伝ってください
配列を取得しているようです。常に1つの要素のみで構成される場合は、これを行うことができます(はい、それは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
をループして、その外側のループ内でこのコードを使用できます。