web-dev-qa-db-fra.com

foreach pour tableau JSON, syntaxe

mon script obtient un tableau du script côté serveur php.

result = jQuery.parseJSON(result);

maintenant, je veux vérifier chaque variable du tableau.

if (result.a!='') { something.... }
if (result.b!='') { something.... }
....

Y at-il un meilleur moyen de le rendre rapide comme dans php 'foreach', 'while' or qth?

METTRE À JOUR

Ce code (grâce à hvgotcodes) me donne des valeurs de variables à l'intérieur du tableau, mais comment puis-je aussi obtenir les noms de variables?

for(var k in result) {
   alert(result[k]);
}

MISE À JOUR 2

Voici comment fonctionne le php

$json = json_encode(array("a" => "test", "b" => "test",  "c" => "test", "d" => "test"));
43
David

Vous pouvez faire quelque chose comme

for(var k in result) {
   console.log(k, result[k]);
}

qui boucle sur toutes les clés du json retourné et affiche les valeurs. Cependant, si vous avez une structure imbriquée, vous devrez utiliser

typeof result[k] === "object"

pour déterminer si vous devez faire une boucle sur les objets imbriqués. La plupart des API que j'ai utilisées, les développeurs connaissent la structure de ce qui est renvoyé, ce qui est donc inutile. Cependant, je suppose qu'il est possible que cette attente ne soit pas bonne dans tous les cas.

88
hvgotcodes

Essaye ça:

$.each(result,function(index, value){
    console.log('My array has at position ' + index + ', this value: ' + value);
});
30
Floyd Pink

Bien sûr, vous pouvez utiliser JS pour chaque.

for (var k in result) {
  something(result[k])
}
10
Tamzin Blake

Vous pouvez utiliser la méthode .forEach () de JavaScript pour effectuer une boucle via JSON.

var datesBooking = [
    {"date": "04\/24\/2018"},
      {"date": "04\/25\/2018"}
    ];
    
    datesBooking.forEach(function(data, index) {
      console.log(data);
    });

0
yogihosting