it-swarm.com.de

foreach für JSON-Array, Syntax

mein Skript bekommt ein Array von PHP Server Side Script.

result = jQuery.parseJSON(result);

jetzt möchte ich jede Variable des Arrays überprüfen.

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

Gibt es einen besseren Weg, um es schnell zu machen, wie in php 'foreach', 'while' oder smth?

UPDATE

Dieser Code (dank hvgotcodes) gibt mir Werte von Variablen innerhalb des Arrays, aber wie bekomme ich auch die Namen von Variablen?

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

UPDATE 2

So funktioniert PHP-Seite

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

Sie können so etwas tun

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

die Schleife überläuft alle Schlüssel im zurückgegebenen Json und gibt die Werte aus. Wenn Sie jedoch eine verschachtelte Struktur haben, müssen Sie diese verwenden

typeof result[k] === "object"

um festzustellen, ob Sie die verschachtelten Objekte überlaufen müssen. Bei den meisten APIs, die ich verwendet habe, kennen die Entwickler die Struktur der zurückgegebenen Daten, sodass dies nicht erforderlich ist. Ich vermute jedoch, dass diese Erwartung möglicherweise nicht für alle Fälle gut ist.

88
hvgotcodes

Versuche dies:

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

Sicher, Sie können JS foreach verwenden.

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

Sie können die .forEach () - Methode von JavaScript zum Durchlaufen von JSON verwenden.

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

0
yogihosting