Heim >Backend-Entwicklung >PHP-Problem >PHP-JSON-zu-Array-Funktion
In PHP müssen wir JSON häufig zur Verarbeitung in ein Array konvertieren. Da das JSON-Format relativ prägnant und leicht verständlich ist, hat es sich zu einem gängigen Format für die Datenübertragung zwischen Front- und Backend entwickelt. Daher gibt es in PHP einige Funktionen, die uns bei der Konvertierung von JSON in ein Array helfen können.
In diesem Artikel werden verschiedene JSON-to-Array-Funktionen vorgestellt, die häufig in PHP verwendet werden. Die Funktion
json_decode() ist die Grundfunktion in PHP, die zum Konvertieren von JSON-Strings in PHP-Arrays oder -Objekte verwendet wird. Die Syntax lautet wie folgt:
mixed json_decode ( string $json [, bool $assoc = FALSE [, int $depth = 512 [, int $options = 0 ]]] )
Wobei:
Beispielcode:
$json_str = '{"name":"Tom","age":20,"hobby":["reading","writing"]}'; $arr = json_decode($json_str, TRUE); print_r($arr);
Ausgabeergebnis:
Array ( [name] => Tom [age] => 20 [hobby] => Array ( [0] => reading [1] => writing ) )
Durch die Funktion json_decode() haben wir die JSON-Zeichenfolge erfolgreich in ein Array konvertiert.
In PHP 7.3 und höher können wir die Option JSON_THROW_ON_ERROR verwenden, damit die Funktion json_decode() eine Ausnahme auslöst, wenn ein Konvertierungsfehler auftritt. Der Beispielcode lautet wie folgt:
$json_str = '{"name":"Tom","age":20,"hobby:["reading","writing"]}'; try { $arr = json_decode($json_str, TRUE, 512, JSON_THROW_ON_ERROR); print_r($arr); } catch (JsonException $e) { echo 'JSON错误:' . $e->getMessage(); }
Ausgabeergebnis:
JSON错误:Syntax error
Da in diesem Beispiel das JSON-String-Format falsch ist, löste die Funktion json_decode() eine Ausnahme aus und löste eine Fehlermeldung aus.
Bei Verwendung der Funktion json_decode() zum Konvertieren einer JSON-Zeichenfolge treten manchmal Analysefehler auf. In diesem Fall können wir die Funktion json_last_error_msg() verwenden, um die Fehlerinformationen abzurufen. Der Beispielcode lautet wie folgt:
$json_str = '{"name":"Tom","age":20,"hobby":["reading","writing"'; $arr = json_decode($json_str, TRUE); if (json_last_error() === JSON_ERROR_NONE) { print_r($arr); } else { echo 'JSON错误:' . json_last_error_msg(); }
Ausgabeergebnis:
JSON错误:Syntax error
In diesem Beispiel hat json_last_error_msg() eine Fehlermeldung aufgrund eines falschen String-Formats zurückgegeben.
In PHP können wir PHP-Arrays auch in Zeichenfolgen im JSON-Format konvertieren, was die Verwendung der Funktion json_encode() erfordert. Die Syntax lautet wie folgt:
string json_encode ( mixed $value [, int $options = 0 [, int $depth = 512 ]] )
Wobei:
Der Beispielcode lautet wie folgt:
$arr = array('name' => 'Tom', 'age' => 20, 'hobby' => array('reading', 'writing')); $json_str = json_encode($arr, JSON_UNESCAPED_UNICODE); echo $json_str;
Ausgabeergebnis:
{"name":"Tom","age":20,"hobby":["reading","writing"]}
Durch die Funktion json_encode() haben wir das PHP-Array erfolgreich in einen JSON-String konvertiert.
Zusammenfassung:
In PHP können wir die Funktion json_decode() verwenden, um einen JSON-String in ein Array oder Objekt zu konvertieren, und wir können auch die Funktion json_encode() verwenden, um ein PHP-Array in einen JSON-formatierten String zu konvertieren. Unter normalen Umständen können Sie die Standardoptionen verwenden. Bei Bedarf können Sie verwandte Optionen zum Konfigurieren verwenden. Beim Parsen oder Codieren von JSON können wir auch verwandte Funktionen verwenden, um Fehlerinformationen für eine bessere Verarbeitung abzurufen.
Das obige ist der detaillierte Inhalt vonPHP-JSON-zu-Array-Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!