Heim >Backend-Entwicklung >PHP-Tutorial >Wie greife ich mit PHP auf Daten aus JSON zu?
PHP bietet die Funktion json_decode(), um einen JSON-String zu dekodieren und ihn in eine PHP-Datenstruktur zu konvertieren. Sehen wir uns an, wie man auf die Ergebnisse zugreift:
Zugriff auf Objekteigenschaften:
Auf Objekteigenschaften kann über $object->property zugegriffen werden Zum Beispiel:
$json = '{"type": "donut", "name": "Cake"}'; $yummy = json_decode($json); echo $yummy->type; // "donut"
Zugriff auf Array-Elemente:
Auf Array-Elemente kann über $array[0] zugegriffen werden. Zum Beispiel:
$json = '["Glazed", "Chocolate with Sprinkles", "Maple"]'; $toppings = json_decode($json); echo $toppings[1]; // "Chocolate with Sprinkles"
Zugriff auf verschachtelte Elemente:
Auf verschachtelte Elemente kann über aufeinanderfolgende Attribute und Indizes zugegriffen werden, z. B. $object-> ->usw. :
$json = '{"type": "donut", "name": "Cake", "toppings": [{"id": "5002", "type": "Glazed"}]}'; $yummy = json_decode($json); echo $yummy->toppings[0]->id; // "5002"
In assoziatives Array konvertieren:
Übergeben Sie true als zweiten Parameter von json_decode(), um JSON zu konvertieren Das Objekt wird in ein assoziatives Array dekodiert, dessen Schlüssel Zeichenfolgen sind:
$json = '{"type": "donut", "name": "Cake"}'; $yummy = json_decode($json, true); echo $yummy['type']; // "donut"
Der Zugriff auf die assoziativen Array-Elemente:
kann über foreach (array_expression as $key => $-Wert) Schlüssel und Werte durchqueren:
$json = '{"foo": "foo value", "bar": "bar value", "baz": "baz value"}'; $assoc = json_decode($json, true); foreach ($assoc as $key => $value) { echo "The value of key '$key' is '$value'" . PHP_EOL; }
Ausgabe:
The value of key 'foo' is 'foo value' The value of key 'bar' is 'bar value' The value of key 'baz' is 'baz value'
Unbekannte Datenstruktur:
Wenn Sie die Datenstruktur nicht kennen , lesen Sie bitte die entsprechende Dokumentation oder verwenden Sie print_r() Überprüfen Sie das Ergebnis:
print_r(json_decode($json));
json_decode() gibt null zurück:
Dies geschieht, wenn der JSON null oder ungültig ist. Verwenden Sie json_last_error_msg(), um Fehlermeldungen zu überprüfen.
Attributnamen mit Sonderzeichen:
Verwenden Sie {"@attributes":{"answer":42}}, um auf Attributnamen mit Sonderzeichen zuzugreifen:
$json = '{"@attributes":{"answer":42}}'; $thing = json_decode($json); echo $thing->{'@attributes'}->answer; //42
Das obige ist der detaillierte Inhalt vonWie greife ich mit PHP auf Daten aus JSON zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!