Das
JSON-Format ist ein leichtes Datenaustauschformat. Aufgrund seiner Einfachheit, Benutzerfreundlichkeit, Geschwindigkeit und Effizienz hat es sich zu einem weit verbreiteten Datenformat entwickelt. In PHP können wir die Funktion json_decode() verwenden, um einen JSON-String in ein PHP-Array oder -Objekt zu konvertieren. In diesem Artikel erfahren Sie, wie Sie JSON-formatierte Daten in PHP-Arrays oder -Objekte konvertieren und wie Sie mit Arrays und Objekten in JSON umgehen.
1. JSON-String in PHP-Array konvertieren
Das Folgende ist ein Beispiel für JSON-Daten:
{ "name": "Tom", "age": 26, "email": "tom@example.com", "hobbies": ["reading", "swimming", "traveling"], "address": { "city": "Beijing", "province": "Beijing", "country": "China" } }
Wir können die Funktion json_decode() verwenden, um sie in ein PHP-Array zu konvertieren:
$json = '{ "name": "Tom", "age": 26, "email": "tom@example.com", "hobbies": ["reading", "swimming", "traveling"], "address": { "city": "Beijing", "province": "Beijing", "country": "China" } }'; $array = json_decode($json, true);
Beim Aufruf der Funktion json_decode() , Der erste Parameter wird in der zu konvertierenden JSON-Zeichenfolge übergeben, und der zweite Parameter wird in einem booleschen Wert übergeben, um anzugeben, ob das konvertierte Objekt ein Array (true) oder ein Objekt (false) ist, da standardmäßig json_decode() Die Funktion konvertiert einen JSON-String in ein Objekt.
Wir setzen den zweiten Parameter auf true, dann ist der Rückgabewert ein PHP-Array und das Ergebnis ist wie folgt:
Array ( [name] => Tom [age] => 26 [email] => tom@example.com [hobbies] => Array ( [0] => reading [1] => swimming [2] => traveling ) [address] => Array ( [city] => Beijing [province] => Beijing [country] => China ) )
2 Konvertieren Sie den JSON-String in ein PHP-Objekt
Wenn der zweite Parameter von json_decode(). Die Funktion lautet: Wenn sie auf „false“ gesetzt ist, wird ein PHP-Objekt zurückgegeben. Das Folgende ist ein Beispielcode:
$json = '{ "name": "Tom", "age": 26, "email": "tom@example.com", "hobbies": ["reading", "swimming", "traveling"], "address": { "city": "Beijing", "province": "Beijing", "country": "China" } }'; $obj = json_decode($json, false);
Nachdem der zweite Parameter auf false gesetzt wurde, ist $obj ein PHP-Objekt und das Ergebnis ist wie folgt:
stdClass Object ( [name] => Tom [age] => 26 [email] => tom@example.com [hobbies] => Array ( [0] => reading [1] => swimming [2] => traveling ) [address] => stdClass Object ( [city] => Beijing [province] => Beijing [country] => China ) )
3. Verarbeiten von Arrays in JSON
Wenn die JSON-Daten Arrays enthalten, wir Es kann weiterhin mit der Funktion json_decode() in ein PHP-Array oder -Objekt konvertiert werden. Hier ist ein Beispiel für JSON-Daten, die ein Array enthalten:
{ "name": "Tom", "age": 26, "email": "tom@example.com", "hobbies": ["reading", "swimming", "traveling"], "scores": [ {"subject": "math", "score": 90}, {"subject": "physics", "score": 85}, {"subject": "chemistry", "score": 78} ] }
Wir können die Funktion json_decode() verwenden, um sie in ein PHP-Array zu konvertieren:
$json = '{ "name": "Tom", "age": 26, "email": "tom@example.com", "hobbies": ["reading", "swimming", "traveling"], "scores": [ {"subject": "math", "score": 90}, {"subject": "physics", "score": 85}, {"subject": "chemistry", "score": 78} ] }'; $array = json_decode($json, true);
Das konvertierte Ergebnis ist wie folgt:
Array ( [name] => Tom [age] => 26 [email] => tom@example.com [hobbies] => Array ( [0] => reading [1] => swimming [2] => traveling ) [scores] => Array ( [0] => Array ( [subject] => math [score] => 90 ) [1] => Array ( [subject] => physics [score] => 85 ) [2] => Array ( [subject] => chemistry [score] => 78 ) ) )
Wir können auch den ersten Teil konvertieren der Funktion json_decode() Setzen Sie die beiden Parameter auf false, um sie in PHP-Objekte zu konvertieren. Die konvertierten Ergebnisse sind wie folgt:
stdClass Object ( [name] => Tom [age] => 26 [email] => tom@example.com [hobbies] => Array ( [0] => reading [1] => swimming [2] => traveling ) [scores] => Array ( [0] => stdClass Object ( [subject] => math [score] => 90 ) [1] => stdClass Object ( [subject] => physics [score] => 85 ) [2] => stdClass Object ( [subject] => chemistry [score] => 78 ) ) )
4. Objekte in JSON verarbeiten
Wenn JSON-Daten Objekte enthalten, können wir sie auch mit der Funktion json_decode() in ein PHP-Array oder -Objekt konvertieren. Das Folgende ist ein Beispiel für JSON-Daten, die Objekte enthalten:
{ "name": "Tom", "age": 26, "email": "tom@example.com", "hobbies": ["reading", "swimming", "traveling"], "address": { "city": "Beijing", "province": "Beijing", "country": "China" }, "scores": { "math": 90, "physics": 85, "chemistry": 78 } }
Wir können sie weiterhin mit der Funktion json_decode() in ein PHP-Array oder -Objekt konvertieren:
$json = '{ "name": "Tom", "age": 26, "email": "tom@example.com", "hobbies": ["reading", "swimming", "traveling"], "address": { "city": "Beijing", "province": "Beijing", "country": "China" }, "scores": { "math": 90, "physics": 85, "chemistry": 78 } }'; $array = json_decode($json, true); $obj = json_decode($json, false);
Die konvertierten PHP-Arrays und -Objekte lauten wie folgt:
Array ( [name] => Tom [age] => 26 [email] => tom@example.com [hobbies] => Array ( [0] => reading [1] => swimming [2] => traveling ) [address] => Array ( [city] => Beijing [province] => Beijing [country] => China ) [scores] => Array ( [math] => 90 [physics] => 85 [chemistry] => 78 ) ) stdClass Object ( [name] => Tom [age] => 26 [email] => tom@example.com [hobbies] => Array ( [0] => reading [1] => swimming [2] => traveling ) [address] => stdClass Object ( [city] => Beijing [province] => Beijing [country] => China ) [scores] => stdClass Object ( [math] => 90 [physics] => 85 [chemistry] => 78 ) )
5 . Konvertieren PHP-Array oder -Objekt in JSON konvertieren
Nach Abschluss der Analyse und Bearbeitung der JSON-Daten müssen wir möglicherweise auch das PHP-Array oder -Objekt für die anschließende Verarbeitung oder Übertragung in eine JSON-Formatzeichenfolge konvertieren. Mit der Funktion json_encode() können Sie ein PHP-Array oder -Objekt in einen JSON-formatierten String konvertieren. Das Folgende ist ein Beispielcode:
$array = array( 'name' => 'Tom', 'age' => 26, 'email' => 'tom@example.com', 'hobbies' => array('reading', 'swimming', 'traveling'), 'address' => array( 'city' => 'Beijing', 'province' => 'Beijing', 'country' => 'China' ), 'scores' => array( 'math' => 90, 'physics' => 85, 'chemistry' => 78 ) ); $json = json_encode($array);
Nach dem Aufruf der Funktion json_encode() ist der Wert von $json die konvertierte JSON-Formatzeichenfolge und das Ergebnis sieht wie folgt aus:
{ "name":"Tom", "age":26, "email":"tom@example.com", "hobbies":["reading","swimming","traveling"], "address":{ "city":"Beijing", "province":"Beijing", "country":"China" }, "scores":{ "math":90, "physics":85, "chemistry":78 } }
6. Konvertieren Sie das PHP-Array oder -Objekt in JSON und Ausgabe
Wenn Sie Daten direkt im JSON-Format in PHP ausgeben müssen, können wir das Ergebnis direkt nach dem Aufruf der Funktion json_encode() ausgeben. Das folgende Beispiel:
$array = array( 'name' => 'Tom', 'age' => 26, 'email' => 'tom@example.com', 'hobbies' => array('reading', 'swimming', 'traveling'), 'address' => array( 'city' => 'Beijing', 'province' => 'Beijing', 'country' => 'China' ), 'scores' => array( 'math' => 90, 'physics' => 85, 'chemistry' => 78 ) ); header('Content-Type: application/json'); echo json_encode($array);
Im obigen Beispiel legen wir die Antwortheaderinformationen über die Funktion header() fest und setzen den ContentType auf application/json, was angibt, dass die zurückgegebenen Daten im JSON-Format vorliegen. Verwenden Sie dann echo, um die konvertierten JSON-Daten auszugeben.
Fazit
In diesem Artikel wird hauptsächlich die Konvertierung von JSON-Daten in PHP-Arrays oder -Objekte erläutert. Außerdem wird erläutert, wie Arrays und Objekte in JSON verarbeitet werden, und es wird gezeigt, wie PHP-Arrays oder -Objekte in Zeichenfolgen im JSON-Format konvertiert werden. Ich hoffe, dieser Artikel kann PHP-Entwicklern helfen.
Das obige ist der detaillierte Inhalt vonLassen Sie uns darüber sprechen, wie Sie JSON-Daten in ein PHP-Array oder -Objekt konvertieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!