Heim  >  Artikel  >  Backend-Entwicklung  >  Warum erhalte ich beim Arbeiten mit JSON in PHP die Fehlermeldung „Versuch, die Eigenschaft eines Nichtobjekts abzurufen“?

Warum erhalte ich beim Arbeiten mit JSON in PHP die Fehlermeldung „Versuch, die Eigenschaft eines Nichtobjekts abzurufen“?

Linda Hamilton
Linda HamiltonOriginal
2024-10-31 02:18:02896Durchsuche

Why Am I Getting the

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!

Stellungnahme:
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