47 votes

Comment obtenir JSON de la Clé et de la Valeur?

J'ai écrit à la suite de code pour obtenir des résultat JSON à partir d'un 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..
                   }
            });
        }

Voici la réponse de webservice: enter image description here

Merci de m'aider à imprimer Clé et sa Valeur

95voto

no.good.at.coding Points 13542

Il semble que vous êtes de retour d'une matrice. Si c'est toujours constituée d'un élément, vous pouvez le faire (oui, c'est à peu près la même chose que Tomalak de la réponse):

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

Si vous avez plus d'un élément et que vous souhaitez effectuer une itération sur tous, vous pouvez nid $.each():

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

11voto

Tomalak Points 150423
$.each(result, function(key, value) {
  console.log(key+ ':' + value);
}

10voto

Dave Ward Points 36006

Tout d'abord, je vois que vous êtes à l'aide d'un explicite $.parseJSON(). Si c'est parce que vous êtes manuellement la sérialisation JSON sur le côté serveur, n'en ont pas. ASP.NET automatiquement JSON-sérialiser vos retour de la méthode de la valeur et jQuery automatiquement désérialiser pour vous aussi.

Pour itérer à travers le premier élément dans le tableau que vous avez là, utiliser le code comme ceci:

var firstItem = response.d[0];

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

Si il n'y a plus d'un élément (il est difficile de dire à partir de cette capture d'écran), vous pouvez passer en boucle response.d , puis utiliser ce code à l'intérieur que l'extérieur de la boucle.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X