Heim  >  Artikel  >  Backend-Entwicklung  >  So konvertieren Sie JSON-Daten in ein Array-Objekt in PHP

So konvertieren Sie JSON-Daten in ein Array-Objekt in PHP

PHPz
PHPzOriginal
2023-04-23 09:08:33448Durchsuche

Während des Entwicklungsprozesses müssen wir häufig JSON-Daten in Arrays oder Objektarrays konvertieren. Als beliebte serverseitige Programmiersprache bietet PHP außerdem praktische Methoden zur Durchführung von Konvertierungsvorgängen bei der Verarbeitung von JSON-Daten. In diesem Artikel wird anhand eines Beispiels gezeigt, wie JSON-Daten in ein Array von Array-Objekten konvertiert werden.

Vorausgesetzte Kenntnisse

Bevor Sie die spezifischen Vorgänge erklären, müssen Sie einige grundlegende PHP-Kenntnisse verstehen.

JSON

JSON (kurz für JavaScript Object Notation) ist ein leichtes Datenaustauschformat. Es stellt Daten als Schlüssel-Wert-Paare oder im Array-Format dar. JSON-Daten können mithilfe von Objekten und Arrays in JavaScript dargestellt werden.

Array in PHP

In PHP ist ein Array eine Struktur, die Daten sammelt. Es kann verschiedene Arten von Werten speichern. In einem Array ist jedem Wert ein Schlüssel zugeordnet, und der Schlüssel kann eine beliebige Zeichenfolge oder Ganzzahl sein.

stdClass-Objekt in PHP

stdClass-Objekt ist ein sehr einfaches Objektmodell in PHP. Es kann bei Bedarf auch Objekte in Arrays und Arrays in Objekte konvertieren, was für die Verarbeitung von JSON-Daten sehr nützlich ist ist sehr nützlich.

Json in Array konvertieren

Werfen wir zunächst einen Blick darauf, wie man JSON-Daten in ein PHP-Array konvertiert. PHP bietet eine integrierte Funktion json_decode(), die einen JSON-String in ein PHP-Array konvertieren kann. Die Verwendung dieser Funktion ist wie folgt:

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

Unter diesen stellt $json die JSON-Zeichenfolge dar, die konvertiert werden muss; $assoc stellt dar, ob ein assoziatives Array zurückgegeben werden soll (der Standardwert ist false, d. h. es wird ein Objekt zurückgegeben). ; $ Depth stellt die maximale Rekursionstiefe dar (der Standardwert ist 512); $options stellt Konvertierungsoptionen dar (Standard ist 0).

Hier ist ein einfaches Beispiel, vorausgesetzt, wir haben eine Datei mit JSON-Daten data.json:

{
    "name": "Typechoer",
    "age": 25,
    "gender": "male",
    "skills": ["PHP", "JavaScript", "CSS"]
}

Wir können den folgenden Code verwenden, um die JSON-Daten zu lesen und in ein PHP-Array zu konvertieren:

$json = file_get_contents('data.json');
$data = json_decode($json, true);
print_r($data);

Die Ausgabe lautet wie folgt:

Array
(
    [name] => Typechoer
    [age] => 25
    [gender] => male
    [skills] => Array
        (
            [0] => PHP
            [1] => JavaScript
            [2] => CSS
        )
)

Wie Sie sehen, haben wir die Konvertierung von JSON-Daten in ein PHP-Array implementiert und der Datentyp bleibt unverändert.

Json in Objektarray konvertieren

Zusätzlich zur Konvertierung von JSON-Daten in PHP-Arrays können Sie sie auch in Objektarrays konvertieren. Ein Objektarray ist ein Array von stdClass-Objekten, wobei jedes Objekt ein Element darstellt. Wir müssen uns nicht um die Feldnamen des Objekts kümmern, sondern müssen nur über die Eigenschaften des Objekts darauf zugreifen. Das Folgende ist eine Methode zum Konvertieren von JSON-Daten in ein PHP-Objektarray:

json_decode(string, false, 512, JSON_OBJECT_AS_ARRAY);

Wie Sie sehen können, müssen wir nur den Parameter $assoc auf false und den Parameter $options auf JSON_OBJECT_AS_ARRAY setzen und dann die Funktion json_decode() verwenden um den Konvertierungsvorgang durchzuführen.

Ähnlich basierend auf den oben genannten JSON-Daten können wir den folgenden Code verwenden, um sie in ein PHP-Objektarray zu konvertieren:

$json = file_get_contents('data.json');
$data = json_decode($json, false, 512, JSON_OBJECT_AS_ARRAY);
print_r($data);

Das Ausgabeergebnis ist wie folgt:

Array
(
    [name] => Typechoer
    [age] => 25
    [gender] => male
    [skills] => Array
        (
            [0] => PHP
            [1] => JavaScript
            [2] => CSS
        )
)

Da wir ein Objektarray verwenden, können wir Objekt verwenden Eigenschaften für den Zugriff auf die Daten, wie zum Beispiel:

echo $data[0]->name; // Typechoer
echo $data[0]->skills[2]; // CSS

Json in mehrdimensionales Array konvertiert

Wenn in den JSON-Daten Unterobjekte oder Arrays verschachtelt sind, können wir beim Konvertieren weiterhin die mehrdimensionalen Eigenschaften der Daten beibehalten zu einem PHP-Array oder Objekt-Array.

Das Folgende ist ein Beispiel für JSON-Daten mit einer verschachtelten Struktur:

{
    "account": {
        "name": "Tom",
        "age": 28
    },
    "courses": [
        {
            "name": "PHP",
            "hour": 80
        },
        {
            "name": "JavaScript",
            "hour": 60
        }
    ]
}

Wir können den folgenden Code verwenden, um sie in ein PHP-Array zu konvertieren:

$json = file_get_contents('data.json');
$data = json_decode($json, true);
print_r($data);

Die Ausgabe ist wie folgt:

Array
(
    [account] => Array
        (
            [name] => Tom
            [age] => 28
        )

    [courses] => Array
        (
            [0] => Array
                (
                    [name] => PHP
                    [hour] => 80
                )

            [1] => Array
                (
                    [name] => JavaScript
                    [hour] => 60
                )

        )

)

Ähnlich können wir auch konvertieren Es wird in ein Array von PHP-Objekten umgewandelt:

$json = file_get_contents('data.json');
$data = json_decode($json, false, 512, JSON_OBJECT_AS_ARRAY);
print_r($data);

Das Ausgabeergebnis lautet wie folgt:

Array
(
    [account] => Array
        (
            [name] => Tom
            [age] => 28
        )

    [courses] => Array
        (
            [0] => Array
                (
                    [name] => PHP
                    [hour] => 80
                )

            [1] => Array
                (
                    [name] => JavaScript
                    [hour] => 60
                )

        )

)

Es ist ersichtlich, dass die Struktur mehrdimensionaler Daten erhalten bleibt.

Zusammenfassung

In diesem Artikel haben wir vorgestellt, wie man JSON-Daten in ein PHP-Array oder Objektarray konvertiert. Mit der in PHP integrierten Funktion json_decode() können wir schnell zwischen JSON-Daten und PHP-Daten konvertieren. Wenn Sie in der Entwicklung mit JSON-Daten umgehen müssen, wird Ihnen dieses Wissen auf jeden Fall helfen.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie JSON-Daten in ein Array-Objekt in PHP. 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