Ich habe versucht, eine JSON-Datei mit PHP zu parsen. Aber ich stecke jetzt fest.
Dies ist der Inhalt meiner JSON-Datei:
{
"John": {
"status":"Wait"
},
"Jennifer": {
"status":"Active"
},
"James": {
"status":"Active",
"age":56,
"count":10,
"progress":0.0029857,
"bad":0
}
}
Und das habe ich bis jetzt ausprobiert:
<?php
$string = file_get_contents("/home/michael/test.json");
$json_a = json_decode($string, true);
echo $json_a['John'][status];
echo $json_a['Jennifer'][status];
Aber da ich die Namen nicht kenne (wie 'John'
, 'Jennifer'
) und alle verfügbaren Schlüssel und Werte (wie 'age'
, 'count'
), denke ich, dass ich eine foreach-Schleife erstellen muss.
Ich wäre dankbar für ein Beispiel dafür.
65 Stimmen
Sie sind auf dem richtigen Weg. Schlagen Sie die Syntax für foreach nach (Sie sollten Schlüssel und Werte erhalten). Geben Sie noch nicht auf!
11 Stimmen
@Stefan Mai:
foreach($variable as $key => $val)
sollte das sein, was Sie wollen :-)6 Stimmen
@JamWaffles Haha, danke. Ich hatte gehofft, dass OP ein paar Erfahrungen beim Nachschlagen sammeln könnte. Upvotes, weil das wirklich alles ist, was er/sie braucht.
0 Stimmen
Anmerkung am Rande: Ich schlage vor, Sie konfigurieren Ihr PHP-Setup so, dass alle Arten von Fehlermeldungen angezeigt werden, einschließlich
notices
0 Stimmen
Können Sie näher ausführen, was Sie versuchen, aus "Parsen" der JSON zu erhalten: d.h. welche Aufgabe versuchen Sie, mit Ihrem Code zu erreichen (wie: "alle Status ausgeben", "Namen finden, deren Status xyz ist", "alle Informationen für xyz finden")?
0 Stimmen
(Windows Notepad Problem) Bitte, konsultieren Sie diese, ich teilte das Problem zu und es behoben: stackoverflow.com/questions/10290849/
0 Stimmen
Toll, dass niemand diese Frage an codereview weiterleitet Glück gehabt
0 Stimmen
@juggernaut1996 Code-Überprüfung gab es noch nicht, als diese Frage im Jahr 2010 gestellt wurde.
0 Stimmen
X-Ref: Wie kann ich mit PHP Daten aus JSON extrahieren? (für kompliziertere Array-Traversionen).
0 Stimmen
Das ist zwar nicht ganz das Thema, aber Sie müssen sicherstellen, dass
allow_url_fopen
wird eingestellt auf1
damit dies auf jedem Server funktioniert. Wenn Sie einen Server eines Drittanbieters verwenden, könnte es nicht funktionieren. Prost!0 Stimmen
Beachten Sie, dass json decode Probleme mit Sonderzeichen hat. Sie können dies beheben, indem Sie die Optionen wie hier beschrieben anhängen, um eine vollständige utf8-Zeichenspeicherung von json_decode zu erhalten stackoverflow.com/a/39364497/2223756