Bei der Webentwicklung geht es oft darum, Daten im JSON-Format von der Front-End-Seite an das Back-End zu übermitteln und diese Daten dann in eine Array- oder Objektform umzuwandeln, die PHP verarbeiten kann. In diesem Artikel wird erläutert, wie Sie mit PHP JSON-Daten in Array-Objekte konvertieren.
JSON ist ein leichtes Datenaustauschformat mit klarer Struktur und einfachem Lesen und Schreiben. PHP verfügt über integrierte JSON-Verarbeitungsfunktionen, mit denen JSON problemlos in Array- oder Objektform konvertiert werden kann.
Angenommen, wir haben die folgenden JSON-Daten:
{ "name": "Tom", "age": 20, "address": { "province": "Guangdong", "city": "Guangzhou" }, "hobbies": [ "reading", "swimming" ] }
Verwenden Sie die PHP-Funktion json_decode()
, um sie in ein Array-Objekt umzuwandeln. Die Verwendung der Funktion ist wie folgt: json_decode()
函数可以将其转化为数组对象。函数的用法如下:
array|object json_decode(string $json[, bool $assoc = false[, int $depth = 512[, int $options = 0]]])
参数说明:
代码示例:
$jsonStr = '{ "name": "Tom", "age": 20, "address": { "province": "Guangdong", "city": "Guangzhou" }, "hobbies": [ "reading", "swimming" ] }'; $array = json_decode($jsonStr, true); print_r($array);
输出结果:
Array ( [name] => Tom [age] => 20 [address] => Array ( [province] => Guangdong [city] => Guangzhou ) [hobbies] => Array ( [0] => reading [1] => swimming ) )
可以看到,json_decode()
函数将JSON字符串转化为了PHP数组对象。
如果要将JSON数据转化为PHP对象形式,可以去掉函数中的第二个参数或将其设置为false。
除了将JSON数据转化为数组或对象形式,PHP还可以将数组或对象形式的数据编码为JSON字符串。这可以使用PHP的json_encode()
string json_encode(mixed $value[, int $options = 0[, int $depth = 512]])
$array = array( 'name' => 'Tom', 'age' => 20, 'address' => array( 'province' => 'Guangdong', 'city' => 'Guangzhou' ), 'hobbies' => array( 'reading', 'swimming' ) ); $jsonStr = json_encode($array, JSON_PRETTY_PRINT); echo $jsonStr;
{ "name": "Tom", "age": 20, "address": { "province": "Guangdong", "city": "Guangzhou" }, "hobbies": [ "reading", "swimming" ] }
json_decode()
einen JSON-String in ein PHP-Array-Objekt. 🎜🎜Wenn Sie JSON-Daten in PHP-Objektform konvertieren möchten, können Sie den zweiten Parameter in der Funktion entfernen oder auf false setzen. 🎜🎜PHP kann nicht nur JSON-Daten in Array- oder Objektform konvertieren, sondern auch Array- oder Objektdaten in JSON-Strings kodieren. Dies kann mit der PHP-Funktion json_encode()
erreicht werden. Die Funktionsverwendung ist wie folgt: 🎜rrreee🎜 Parameterbeschreibung: 🎜🎜🎜$value: Der Wert, der als JSON-String codiert werden muss. 🎜🎜$options (optional): Durch das Festlegen von JSON-Encoderoptionen wie JSON_PRETTY_PRINT kann die codierte JSON-Zeichenfolge leichter lesbar gemacht werden. 🎜🎜$ Depth (optional): Legen Sie die maximale Tiefe der codierten JSON-Daten fest. Der Standardwert ist 512 und eine leere Zeichenfolge wird zurückgegeben, wenn sie den Bereich überschreitet. 🎜🎜🎜Codebeispiel: 🎜rrreee🎜Ausgabeergebnis: 🎜rrreee🎜In der tatsächlichen Entwicklung wird die AJAX-Technologie häufig verwendet, um JSON-Daten an den Back-End-Server zu senden und diese dann über PHP in eine betriebsfähige Form umzuwandeln. Die Beherrschung der oben genannten JSON-bezogenen PHP-Funktionen erleichtert die Verarbeitung von JSON-Daten. 🎜Das obige ist der detaillierte Inhalt vonPHP konvertiert JSON in ein Array-Objekt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!