Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich JSON mit „json_decode()' richtig in ein Array dekodieren?

Wie kann ich JSON mit „json_decode()' richtig in ein Array dekodieren?

Linda Hamilton
Freigeben: 2024-12-29 17:04:17
Original
469 Leute haben es durchsucht

How Can I Properly Decode JSON into an Array Using `json_decode()`?

Umgang mit dem Rätsel: Erstellen von Arrays mit json_decode()

Es tritt der Fehler „Schwerwiegender Fehler: Objekt vom Typ stdClass kann nicht als Array verwendet werden“ auf „ beim Versuch, JSON in ein Array zu dekodieren, weist auf ein häufiges Missverständnis hin. json_decode() erstellt standardmäßig ein Objekt, Arrays können jedoch abgerufen werden, indem das zweite Argument als „true“ angegeben wird.

Überprüfung des Codes:

Der unten bereitgestellte Code veranschaulicht dies problematischer Ansatz:

$json_string = 'http://www.example.com/jsondata.json';

$jsondata = file_get_contents($json_string);
$obj = json_decode($jsondata);
print_r($obj['Result']);
Nach dem Login kopieren

Der Lösung:

Um das Problem zu lösen, müssen wir lediglich „true“ als zweites Argument für json_decode() angeben und damit unsere Präferenz für ein assoziatives Array anstelle eines Objekts angeben. Der richtige Code wäre:

$result = json_decode($jsondata, true);
Nach dem Login kopieren

Zugriff auf Array-Werte:

Sobald Sie Ihr assoziatives Array haben, können Sie über eckige Klammern auf seine Werte zugreifen:

print_r($result['Result']);
Nach dem Login kopieren

Ganzzahlige Schlüsselarrays:

Wenn, Sie bevorzugen jedoch Ganzzahlschlüssel anstelle von Eigenschaftsnamen. Sie können dies erreichen, indem Sie array_values() nutzen:

$result = array_values(json_decode($jsondata, true));
Nach dem Login kopieren

Objektansatz:

Wenn Sie lieber beibehalten möchten In der Objektstruktur können Sie weiterhin über den Doppelpfeiloperator auf die gewünschte Eigenschaft zugreifen:

print_r($obj->Result);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich JSON mit „json_decode()' richtig in ein Array dekodieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage