Ich versuche etwas zu tun, das ich schon oft gemacht habe (Zugriff auf Objekte in einer JSON-Datei mit PHP) und aus irgendeinem Grund gibt json_decode
nur das letzte Element im JSON-Array zurück. Hier ist die JSON:PHP nur zurückkehrendes letztes JSON-Objekt
{
"person": {
"lname": "smith",
"fname": "bob"
},
"person": {
"lname": "jones",
"fname": "jane"
}
}
Und die PHP:
<?php
//access and dump
$json = file_get_contents('people.json');
$filey = json_decode($json, true);
var_dump($filey);
?>
Das Ergebnis ist nur das letzte Element im Array:
array (size=1)
'person' =>
array (size=2)
'lname' => string 'jones' (length=5)
'fname' => string 'jane' (length=4)
Mit json_last_error
kehrt keine Fehler und ich bin gültig nach jsonlint. Ich finde auch keine Konsolenfehler, wenn ich die Seite lade.
Ich bin völlig ratlos und kann nichts anderes als die Zeiten sehen, die ich schon mal gemacht habe - kann jemand identifizieren, was ich hier vermisse?
Ihr Schlüssel ist die gleiche 'Person' so wird es überschrieben – Saurabh
beachten Sie, dass Schlüssel/Eigenschaften eindeutig sein müssen – Ghost
Ihre Indizes sind gleich und deshalb ist es überschrieben (' person') –