Heim > Artikel > Backend-Entwicklung > Warum erhalte ich beim Arbeiten mit JSON in PHP die Fehlermeldung „Versuch, die Eigenschaft eines Nichtobjekts abzurufen“?
Fehlerbehebung „Versuch, Eigenschaft eines Nichtobjekts abzurufen“-Fehler in PHP
Beim Versuch, Daten von einem JSON-Endpunkt abzurufen, kann es sein, dass Sie Es tritt der Fehler „Es wird versucht, eine Eigenschaft eines Nicht-Objekts abzurufen“ auf. Dies tritt auf, wenn Sie versuchen, auf eine Eigenschaft einer Variablen zuzugreifen, die kein Objekt ist.
Im bereitgestellten Code versuchen Sie, die Variable „player_name“ aus der JSON-Antwort abzurufen. Die empfangene Antwort ist jedoch ein Array, das ein einzelnes Objekt enthält, nicht direkt ein Objekt. Dies kann durch die von Ihnen bereitgestellte var_dump-Ausgabe bestätigt werden, die Folgendes zeigt:
array(1) { [0]=> object(stdClass)#52 {...} }
Um diesen Fehler zu beheben, müssen Sie zuerst auf das Array-Element zugreifen, bei dem es sich um ein Objekt handelt, und dann auf seine Attribute zugreifen. Hier ist der korrigierte Code:
$js = file_get_contents('http://api.convoytrucking.net/api.php?api_key=public&show=player&player_name=Mick_Gibson'); $pjs = json_decode($js); echo $pjs[0]->player_name; // Correctly access the object attribute
Dieser geänderte Code ruft die Variable „player_name“ erfolgreich ab, ohne dass der Fehler „Es wird versucht, die Eigenschaft eines Nichtobjekts abzurufen“ auftritt. Denken Sie daran, die Struktur Ihrer JSON-Antwort sorgfältig zu überprüfen, um sicherzustellen, dass Sie korrekt auf Eigenschaften zugreifen.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Arbeiten mit JSON in PHP die Fehlermeldung „Versuch, die Eigenschaft eines Nichtobjekts abzurufen“?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!