Heim  >  Artikel  >  Backend-Entwicklung  >  PHP konvertiert JSON in ein Array-Objekt

PHP konvertiert JSON in ein Array-Objekt

PHPz
PHPzOriginal
2023-05-11 09:26:36471Durchsuche

In der Webentwicklung hat sich das JSON-Format (JavaScript Object Notation) zu einem weit verbreiteten Datenaustauschformat entwickelt. Als beliebte serverseitige Sprache unterstützt PHP selbstverständlich die Konvertierung von JSON-formatierten Strings in Array-Objekte. In diesem Artikel wird erläutert, wie Sie JSON mithilfe von PHP in ein Array-Objekt konvertieren.

  1. Funktion json_decode verwenden

Die in PHP integrierte Funktion json_decode kann Zeichenfolgen im JSON-Format in PHP-Array-Objekte konvertieren. Das Folgende ist ein grundlegendes Anwendungsbeispiel:

<?php
$json_str = '{"name": "张三", "age": 20}';
$array_obj = json_decode($json_str);
print_r($array_obj);
?>

Im obigen Code definieren wir zunächst eine JSON-Formatzeichenfolge $json_str, die ein Zeichenfolgenattribut namens name und ein Ganzzahlattribut namens age enthält, und verwenden dann json_decode Funktion, um die Zeichenfolge in ein Array-Objekt $array_obj umzuwandeln, und verwenden Sie schließlich die Funktion print_r, um das Array-Objekt auszugeben. Die durch Ausführen dieses Skripts erhaltene Ausgabe lautet:

stdClass Object
(
    [name] => 张三
    [age] => 20
)

Wie Sie sehen können, konvertiert die Funktion json_decode die JSON-Formatzeichenfolge erfolgreich in ein Array-Objekt.

  1. Verwenden Sie den zweiten Parameter, um den Typ des Rückgabeergebnisses anzugeben.

Standardmäßig gibt die Funktion json_decode das stdClass-Objekt zurück, bei dem es sich um PHP A handelt Integrierte Standardklasse zur Darstellung eines beliebigen Datentyps. Wenn Sie die JSON-Zeichenfolge in ein assoziatives Array konvertieren möchten (d. h. den Attributnamen als Schlüsselnamen verwenden), können Sie den zweiten Parameter wie unten gezeigt auf true setzen:

<?php
$json_str = '{"name": "张三", "age": 20}';
$array_obj = json_decode($json_str, true);
print_r($array_obj);
?>

Here the Der zweite Parameter ist festgelegt. Um wahr zu sein, gibt die Funktion json_decode ein assoziatives Array zurück, d. h. sie verwendet den Eigenschaftsnamen als Schlüssel. Die durch Ausführen dieses Skripts erhaltene Ausgabe lautet:

Array
(
    [name] => 张三
    [age] => 20
)

Wie Sie sehen können, gibt die Funktion json_decode ein assoziatives Array zurück, das sich von der vorherigen Beispielausgabe unterscheidet.

  1. Umwandlung von Konvertierungsfehlern

Wenn die JSON-Formatzeichenfolge nicht in ein Array-Objekt konvertiert werden kann, gibt die Funktion json_decode null zurück. Daher müssen wir Fälle von Konvertierungsfehlern in unserem Code behandeln. Hier ist ein Beispiel:

<?php
$json_str = 'invalid json string';
$array_obj = json_decode($json_str);
if(is_null($array_obj)) {
    echo('JSON转换失败');
} else {
    print_r($array_obj);
}
?>

Im obigen Code weisen wir der Variablen $json_str einen ungültigen JSON-String zu und verwenden dann die Funktion json_decode, um den String zu konvertieren. Da die Zeichenfolge nicht in ein Array-Objekt konvertiert werden kann, gibt die Funktion json_decode null zurück. Daher verwenden wir die Funktion is_null, um zu bestimmen, ob das Rückgabeergebnis null ist. Wenn ja, geben Sie „JSON-Konvertierung fehlgeschlagen“ aus, andernfalls geben Sie das konvertierte Array-Objekt aus. Die durch die Ausführung dieses Skripts erhaltene Ausgabe lautet:

JSON转换失败

Fazit

In PHP ist die Verwendung der json_decode-Funktion zum Konvertieren einer JSON-formatierten Zeichenfolge in ein Array-Objekt eine sehr grundlegende Aufgabe arbeiten. In diesem Artikel werden die grundlegende Verwendung der json_decode-Funktion sowie einige allgemeine Tipps und Vorsichtsmaßnahmen vorgestellt. Durch das Erlernen dieser Wissenspunkte können Leser die Verwendung von PHP zur Verarbeitung von Daten im JSON-Format besser beherrschen.

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!

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