Verstehen des Fehlers: „Objekt vom Typ stdClass kann nicht als Array verwendet werden“
Beim Versuch, eine JSON-Zeichenfolge zu dekodieren, kann es vorkommen, dass Sie auf Folgendes stoßen: Fehler „Schwerwiegender Fehler: Objekt vom Typ stdClass kann nicht als Array verwendet werden.“ Dieser Fehler tritt auf, wenn Sie versuchen, die Ausgabe der Funktion json_decode() als Array statt als Objekt zu behandeln.
Die Lösung: Verwendung der Funktion json_decode() mit echtem zweiten Argument
Die Funktion json_decode() stellt ein optionales zweites Argument bereit, mit dem Sie angeben können, ob die Ausgabe als Array oder als Objekt zurückgegeben werden soll. Standardmäßig gibt json_decode() ein Objekt zurück.
Um den JSON-String in ein Array zu dekodieren, müssen wir das zweite Argument auf true setzen. Hier ist der korrigierte Code:
$result = json_decode($jsondata, true);
Zugriff auf Array-Schlüssel
Sobald der JSON-String in ein Array dekodiert wurde, können Sie mithilfe von Array-Schlüsseln auf seine Elemente zugreifen. Wenn Ihr Array beispielsweise einen Schlüssel namens „Ergebnis“ enthält, können Sie wie folgt darauf zugreifen:
print_r($result['Result']);
Alternative Methoden
Zusätzlich zur Verwendung von json_decode ()-Funktion mit dem wahren zweiten Argument gibt es andere Methoden zum Konvertieren eines JSON-Objekts in ein array:
print_r($obj->Result);
Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Dekodieren von JSON die Fehlermeldung „Objekt vom Typ stdClass kann nicht als Array verwendet werden'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!