Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Parsing-JSON-Fehler

PHP-Parsing-JSON-Fehler

WBOY
WBOYOriginal
2016-08-04 09:19:091178Durchsuche

<code><?php
$json = '{"detail":[{"name":24,"country":China,"location":{"city":chengdu},"code":2000}';
$obj = json_decode($json,true);
echo $obj->detail[0]->name;
echo $obj->detail[0]->location->city;
?>
</code>

Der Code ist wie oben. Wie soll ich ihn ändern?

Antwortinhalt:

<code><?php
$json = '{"detail":[{"name":24,"country":China,"location":{"city":chengdu},"code":2000}';
$obj = json_decode($json,true);
echo $obj->detail[0]->name;
echo $obj->detail[0]->location->city;
?>
</code>

Der Code ist wie oben. Wie soll ich ihn ändern?

Ihr JSON-Format ist falsch. Sobald die JSON-Zeichenfolge geschrieben ist, können Sie sie nach http://www.bejson.com/ kopieren und überprüfen

Sie können $obj = json_decode($json,true); direkt echo $obj[0]['name'] im Anschluss daran durchführen. Nach Verwendung von json_decode($json, true) wird es in ein Array statt in ein Objekt umgewandelt. Arrays können manipuliert werden

$obj = json_decode($json,true); Auf diese Weise ist es sicherlich falsch, die Objektmethode zum Abrufen zu verwenden.
$obj = json_decode($json); auf diese Weise ist ein Objekt

Erstellen Sie JSON-Daten nicht manuell. Sie müssen die PHP-Funktion verwenden, um JSON zu generieren. Es handelt sich überhaupt nicht um Standard-JSON-Daten.

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