Heim  >  Artikel  >  Backend-Entwicklung  >  Konvertieren Sie JSON in ein PHP-Objektarray

Konvertieren Sie JSON in ein PHP-Objektarray

WBOY
WBOYOriginal
2023-05-19 13:50:37657Durchsuche

Bei der Entwicklung einer Webanwendung ist die einfache Verarbeitung von Daten häufig nicht erforderlich. In PHP müssen wir einen JSON-String in ein Array von Objekten konvertieren. Hier finden Sie eine Einführung in die Konvertierung von JSON in ein Array von PHP-Objekten.

JSON (JavaScript Object Notation) ist ein leichtes Datenaustauschformat, das leicht zu lesen und zu schreiben sowie für Maschinen leicht zu analysieren und zu generieren ist. JSON besteht aus grundlegenden Datentypen, zu den häufigsten gehören: Zeichenfolgen, Zahlen, Arrays, boolesche Werte, Objekte und Nullwerte. JSON hat sich zu einem Standardformat für die Datenübertragung zwischen Clients und Servern entwickelt.

PHP verfügt über integrierte JSON-Verarbeitungsfunktionen, mit denen JSON-Strings problemlos in Arrays oder Objekte konvertiert werden können. Die am häufigsten verwendete Funktion in PHP ist die Funktion json_decode(). Diese Funktion konvertiert einen JSON-String in eine PHP-Variable (Array oder Objekt). Die Funktion json_decode() benötigt zwei Parameter: den zu konvertierenden JSON-String und den zurückgegebenen Datentyp (Standard ist Objekt). Hier ist ein einfaches Beispiel:

$json_string = '{"name":"John","age":30,"city":"New York"}';
$obj = json_decode($json_string);
print_r($obj);

Ausgabe:

stdClass Object 
( 
    [name] => John 
    [age] => 30 
    [city] => New York 
)

Standardmäßig gibt die Funktion json_decode() ein Objekt zurück. Wir können es auch ändern, um ein Array zurückzugeben:

$json_string = '{"name":"John","age":30,"city":"New York"}';
$arr = json_decode($json_string, true);
print_r($arr);

Ausgabe:

Array 
( 
    [name] => John 
    [age] => 30 
    [city] => New York 
)

Im obigen Beispiel haben wir den zweiten Parameter verwendet, um den Rückgabetyp als Array anzugeben. Diese Funktion folgt beim Parsen von JSON-Strings einigen komplexeren Regeln. Weitere Einzelheiten finden Sie in der offiziellen Dokumentation.

Wenn Sie eine JSON-Zeichenfolge verarbeiten möchten, die mehrere JSON-Objekte enthält, können Sie beim Aufruf der Funktion json_decode() einen zusätzlichen Parameter JSON_BIGINT_AS_STRING hinzufügen. Dadurch wird sichergestellt, dass der Handler keine großen numerischen Werte im JSON-String in Gleitkommazahlen umwandelt. Dies ist besonders nützlich bei der Verarbeitung von Protokollereignissen, die eine oder mehrere CUIDS (Kunden-IDs) enthalten, da diese IDs eindeutig bleiben müssen.

Hier ist ein Beispiel:

$json_string = '[{"name":"John","age":30,"city":"New York"},{"name":"Mike","age":35,"city":"Chicago"}]';
$arr = json_decode($json_string, true, 512, JSON_BIGINT_AS_STRING);
print_r($arr);

Ausgabe:

Array 
( 
    [0] => Array 
        ( 
            [name] => John 
            [age] => 30 
            [city] => New York 
        ) 

    [1] => Array 
        ( 
            [name] => Mike 
            [age] => 35 
            [city] => Chicago 
        ) 

)

Im obigen Beispiel haben wir den Parameter JSON_BIGINT_AS_STRING übergeben, weil wir wissen, dass unser JSON-String möglicherweise große Ganzzahlen enthält. Es ist wichtig, mit dieser Situation umzugehen und sicherzustellen, dass diese Zahlen nicht in Gleitkommazahlen umgewandelt werden.

JSON ist ein sehr verbreitetes Format bei der Front-End- und Back-End-Datenübertragung, daher ist es sehr wichtig zu lernen, wie man mit JSON umgeht. In PHP können wir mithilfe der integrierten Funktion json_decode() ganz einfach einen JSON-String in ein Array von Objekten konvertieren. Wenn Sie diese Funktion und die zugehörigen Parameter ordnungsgemäß verwenden, können Sie JSON-Daten in PHP problemlos verarbeiten und Daten schnell, effizient und sicher verarbeiten.

Das obige ist der detaillierte Inhalt vonKonvertieren Sie JSON in ein PHP-Objektarray. 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