Heim >Backend-Entwicklung >PHP-Problem >So konvertieren Sie JSON in ein Array in PHP (drei Methoden)

So konvertieren Sie JSON in ein Array in PHP (drei Methoden)

PHPz
PHPzOriginal
2023-04-18 09:47:554262Durchsuche

Bei der Entwicklung von Webanwendungen oder Anwendungen mit Front-End- und Back-End-Trennung ist es häufig erforderlich, JSON-Daten zur Verarbeitung in Arrays zu konvertieren. Als Sprache, die die Verarbeitung von JSON-Daten unterstützt, bietet PHP mehrere Methoden, um diese Anforderung zu erfüllen. Im Folgenden werden drei häufig verwendete Methoden und ihre Verwendungsszenarien vorgestellt.

Json_decode verwenden

json_decode ist eine der integrierten Funktionen von PHP, mit der Daten im JSON-Format in ein Array in PHP konvertiert werden können. Die Verwendung von json_decode ist sehr einfach. Übergeben Sie einfach die JSON-Zeichenfolge, die analysiert werden muss. Der zweite Parameter von

$jsonStr = '{"name": "Tom", "age": 20, "gender": "male"}';
$array = json_decode($jsonStr, true);

json_decode gibt den Typ des Rückgabewerts an. Wenn Sie ihn hier auf „true“ setzen, wird der Typ des Rückgabearrays angegeben. Wenn der zweite Parameter nicht übergeben wird, wird ein stdClass-Objekttyp zurückgegeben. Wenn der JSON nicht wohlgeformt ist, wird NULL zurückgegeben.

Diese Methode eignet sich für Situationen, in denen das JSON-Datenformat einfach und die Ebene nicht tief ist. Wenn die JSON-Daten jedoch komplex und die Ebene tief sind, müssen mehrere foreach-Schleifen verschachtelt werden, um das Array zu verarbeiten die Lesbarkeit und Effizienz des Codes.

PHP-Erweiterungsfunktionen verwenden

PHP bietet auch eine Erweiterungsfunktion json_decode_array, die dieselbe Funktion wie json_decode hat und zum Konvertieren von Daten im JSON-Format in ein PHP-Array verwendet wird. Im Gegensatz zu json_decode muss json_decode_array jedoch nicht den zweiten Parameter übergeben, um den Rückgabewerttyp anzugeben, sondern gibt den Array-Typ direkt zurück.

$jsonStr = '{"name": "Tom", "age": 20, "gender": "male"}';
$array = json_decode_array($jsonStr);

Im Vergleich zu json_decode bietet json_decode_array eine höhere Leistung, da es in C geschrieben ist und schneller verarbeitet werden kann als PHP-Code. Wenn Sie Daten im JSON-Format effizient verarbeiten müssen, ist die Verwendung von json_decode_array daher eine kluge Wahl.

Es ist jedoch zu beachten, dass es sich bei json_decode_array um eine Erweiterungsfunktion von PHP und nicht um eine integrierte Funktion handelt. Sie müssen die entsprechende Erweiterungsbibliothek installieren, um sie verwenden zu können. Unter Windows-Systemen können Sie extension=php_json.dll in php.ini auskommentieren, um die Erweiterungsbibliothek zu aktivieren. Unter Linux-Systemen können Sie sie mit dem Befehl pecl installieren.

Verwendung des Composer-Pakets

Zusätzlich zu den PHP-eigenen Funktionen und Erweiterungen können wir auch Komponenten von Drittanbietern verwenden, um die Funktion der Konvertierung von JSON in ein Array zu implementieren. Die in diesem Artikel vorgestellte Methode besteht darin, mit Composer eine JSON-Verarbeitungsbibliothek eines Drittanbieters namens JsonMachine zu installieren.

// 安装 JsonMachine 库
composer require salsify/json-machine

$jsonStr = '{"name": "Tom", "age": 20, "gender": "male"}';

// 将 JSON 转化为数组
$array = json_machine($jsonStr);

Die von JsonMachine bereitgestellte Funktion json_machine kann eine Vielzahl unterschiedlicher Parameterformen empfangen, darunter JSON-Strings, PHP-Originalarrays, stdClass-Objekte usw., und ihre Rückgabeergebnisse sind alle PHP-Array-Typen.

JsonMachine unterstützt auch die Rückgabe von JSON-Daten in Form von Iteratoren, um die Speichernutzung zu reduzieren und die Codeleistung zu verbessern.

Zusammenfassung

Ob Sie die in PHP integrierte Funktion json_decode oder die Erweiterungsfunktion json_decode_array oder die Bibliothek eines Drittanbieters JsonMachine verwenden, Sie können die Anforderungen der Konvertierung von JSON in ein PHP-Array erfüllen und die Verwendungsmethode ist relativ einfach . Wir können je nach Bedarf verschiedene Methoden auswählen, um die beste Codeeffizienz und Lesbarkeit zu erzielen.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie JSON in ein Array in PHP (drei Methoden). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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