In PHP müssen wir häufig JSON-Strings in Arrays konvertieren. Dies hilft uns bei der Bewirtschaftung und Verarbeitung der Daten. Schließlich ist JSON ein leichtes Datenaustauschformat und viele Netzwerkschnittstellen geben Daten im JSON-Format zurück.
Also, wie konvertiert man einen JSON-String in ein Array in PHP? Lassen Sie es uns unten vorstellen.
In PHP können wir die Funktion json_decode() verwenden, um einen JSON-String in ein PHP-Array zu konvertieren . Die Syntax der Funktion json_decode() lautet wie folgt:
mixed json_decode ( string $json [, bool $assoc = FALSE [, int $depth = 512 [, int $options = 0 ]]] )
Unter anderem ist der Parameter $json die zu konvertierende JSON-Zeichenfolge. Der Parameter $assoc ist optional und der Standardwert ist FALSE. Wenn er auf TRUE gesetzt ist, ist das konvertierte Array ein assoziatives Array. Der Parameter $ Depth ist optional und gibt die Tiefe der rekursiven Analyse von JSON-Zeichenfolgen an, die größer als diese Tiefe sind und in NULL konvertiert werden. Der Parameter $options ist optional und stellt JSON-Parsing-Optionen dar, die auf JSON_BIGINT_AS_STRING, JSON_OBJECT_AS_ARRAY oder JSON_THROW_ON_ERROR festgelegt werden können.
Das Folgende ist ein Beispiel für die Konvertierung einer JSON-Zeichenfolge in ein Array:
$json_str = '{"name": "Tom", "age": 20, "gender": "male"}'; $arr = json_decode($json_str, true); print_r($arr);
Ausgabeergebnis:
Array ( [name] => Tom [age] => 20 [gender] => male )
Wenn die JSON-Zeichenfolge chinesische Zeichen enthält, können im konvertierten Array verstümmelte Zeichen erscheinen. Zu diesem Zeitpunkt müssen wir die Option JSON_UNESCAPED_UNICODE verwenden, um alle Nicht-ASCII-Zeichen von der Hexadezimalkodierung auszuschließen.
Das Folgende ist ein Beispiel mit der Option JSON_UNESCAPED_UNICODE:
$json_str = '{"name": "汤姆", "age": 20, "gender": "男"}'; $arr = json_decode($json_str, true, 512, JSON_UNESCAPED_UNICODE); print_r($arr);
Ausgabeergebnis:
Array ( [name] => 汤姆 [age] => 20 [gender] => 男 )
Manchmal enthält die JSON-Zeichenfolge Sonderzeichen, z. B. Inhalte bestehend aus < oder > Diese Sonderzeichen müssen in der JSON-Syntaxspezifikation maskiert werden, einige von der Schnittstelle zurückgegebene JSON-Zeichenfolgen werden jedoch nicht maskiert.
Zu diesem Zeitpunkt müssen wir die Option JSON_UNESCAPED_SLASHES verwenden, um sicherzustellen, dass diese Sonderzeichen nicht maskiert werden.
Das Folgende ist ein Beispiel für die Verwendung der Option JSON_UNESCAPED_SLASHES:
$json_str = '{"name": "<Tom>", "age": 20, "gender": "&male&"}'; $arr = json_decode($json_str, true, 512, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); print_r($arr);
Ausgabeergebnis:
Array ( [name] => <Tom> [age] => 20 [gender] => &male& )
Oben wird beschrieben, wie eine JSON-Zeichenfolge in konvertiert wird Ich hoffe, es hilft Ihnen.
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie einen JSON-String in ein Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!