Heim  >  Artikel  >  Backend-Entwicklung  >  So konvertieren Sie einen JSON-String in ein Array in PHP (eine kurze Analyse der Methode)

So konvertieren Sie einen JSON-String in ein Array in PHP (eine kurze Analyse der Methode)

PHPz
PHPzOriginal
2023-04-12 09:22:52509Durchsuche

PHP ist eine sehr beliebte Programmiersprache und wird häufig im Bereich der Webentwicklung eingesetzt. In PHP ist JSON ein sehr verbreitetes Datenaustauschformat und die Konvertierung von JSON-Strings in Arrays ist ein wesentlicher Schritt bei der Verarbeitung von JSON-Daten. In diesem Artikel erfahren Sie, wie Sie in PHP einen JSON-String in ein Array konvertieren.

1. Was ist JSON? Der vollständige Name von JSON ist JavaScript Object Notation. Es handelt sich um ein leichtes Datenaustauschformat. Es basiert auf der Objektdarstellung von JavaScript, hat jedoch nichts mit der JavaScript-Sprache zu tun und kann von verschiedenen Programmiersprachen analysiert und generiert werden.

In JSON werden Daten im Allgemeinen in Form von „Schlüssel-Wert-Paaren“ ausgedrückt, z. B. {“key1“: „value1“, „key2“: „value2“}. Unter diesen muss der Schlüssel vom Typ String sein und der Wert kann verschiedene Datentypen wie String, Zahl, Boolescher Typ, Array, Objekt usw. haben. Der Vorteil dieses Datenformats besteht darin, dass es leicht zu verstehen und zu schreiben, zu lesen und zu analysieren, zu übertragen und zu verarbeiten ist. In der Webentwicklung wird JSON häufig für den Datenaustausch zwischen Front-End und Backend verwendet.

2. So konvertieren Sie einen JSON-String in ein Array in PHP

PHP bietet eine sehr einfache Methode zum Konvertieren eines JSON-Strings in ein Array, nämlich die Funktion json_decode(). Diese Funktion kann eine JSON-formatierte Zeichenfolge in ein PHP-Array oder -Objekt dekodieren. Die Syntax der Funktion

json_decode() lautet wie folgt:

mixed json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )

Unter diesen ist $json die zu dekodierende JSON-Zeichenfolge, $assoc gibt an, ob das dekodierte JSON in ein assoziatives Array konvertiert werden soll, und $ Depth gibt die Tiefe an Konvertierung und $options gibt Optionen bei der Konvertierung an.

JSON-Zeichenfolge in gewöhnliches Objekt konvertieren
  1. Wenn der Parameter $assoc nicht übergeben wird oder falsch ist, konvertiert json_decode() standardmäßig den dekodierten JSON in ein gewöhnliches Objekt. Zum Beispiel:
$json_string = '{"name":"Tom","age":18}';
$obj = json_decode($json_string);
var_dump($obj);

Ausgabe:

object(stdClass)#1 (2) {
  ["name"]=>
  string(3) "Tom"
  ["age"]=>
  int(18)
}

Der obige Code dekodiert die JSON-Zeichenfolge in ein normales Objekt. Nach der Dekodierung können Sie den Operator -> verwenden, um die Eigenschaftswerte des Objekts abzurufen.

JSON-Zeichenfolge in assoziatives Array konvertieren
  1. Wenn der Parameter $assoc auf true gesetzt ist, konvertiert json_decode() das dekodierte JSON in ein assoziatives Array. Zum Beispiel:
$json_string = '{"name":"Tom","age":18}';
$arr = json_decode($json_string, true);
var_dump($arr);

Ausgabe:

array(2) {
  ["name"]=>string(3) "Tom"
  ["age"]=>int(18)
}

Der obige Code dekodiert die JSON-Zeichenfolge in ein assoziatives Array. Nach der Dekodierung können Sie den Array-Index verwenden, um den Elementwert des Arrays abzurufen.

Es ist zu beachten, dass beim Konvertieren einer JSON-Zeichenfolge in ein assoziatives Array bei doppelten Schlüsseln im JSON nur das letzte Schlüssel-Wert-Paar beibehalten wird.

JSON-String in PHP-Objekt konvertieren
  1. Zusätzlich zur Konvertierung von JSON in gewöhnliche Objekte und assoziative Arrays bietet die Funktion json_decode() auch eine Methode zum Konvertieren von JSON-Strings in PHP-Objekte. Sie müssen den Parameter $assoc auf false setzen und die Klasse stdClass verwenden, um während des Decodierungsprozesses neue Objekte zu erstellen. Zum Beispiel:
$json_string = '{"name":"Tom","age":18}';
$obj = json_decode($json_string, false, 512, JSON_OBJECT_AS_ARRAY);
$php_obj = new stdClass();
foreach($obj as $key => $value) {
    $php_obj->$key = $value;
}
var_dump($php_obj);

Ausgabe:

object(stdClass)#4 (2) {
  ["name"]=>
  string(3) "Tom"
  ["age"]=>
  int(18)
}

Der obige Code dekodiert die JSON-Zeichenfolge in ein PHP-Objekt. Verwenden Sie eine foreach-Schleife, um die Schlüssel-Wert-Paare des assoziativen Arrays an das neue stdClass-Objekt zu übergeben, und verwenden Sie dann den Operator $->, um auf die Eigenschaftswerte des Objekts zuzugreifen.

Fazit

In PHP ist das Konvertieren eines JSON-Strings in ein Array sehr einfach. Verwenden Sie einfach die Funktion json_decode(). Es ist zu beachten, dass bei doppelten Schlüsseln in JSON nur das letzte Schlüssel-Wert-Paar beibehalten wird.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie einen JSON-String in ein Array in PHP (eine kurze Analyse der Methode). 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