Heim  >  Artikel  >  Backend-Entwicklung  >  Lassen Sie uns darüber sprechen, wie Sie JSON-Daten in ein PHP-Array oder -Objekt konvertieren

Lassen Sie uns darüber sprechen, wie Sie JSON-Daten in ein PHP-Array oder -Objekt konvertieren

PHPz
PHPzOriginal
2023-04-17 15:25:58573Durchsuche

Das

JSON-Format ist ein leichtes Datenaustauschformat. Aufgrund seiner Einfachheit, Benutzerfreundlichkeit, Geschwindigkeit und Effizienz hat es sich zu einem weit verbreiteten Datenformat entwickelt. In PHP können wir die Funktion json_decode() verwenden, um einen JSON-String in ein PHP-Array oder -Objekt zu konvertieren. In diesem Artikel erfahren Sie, wie Sie JSON-formatierte Daten in PHP-Arrays oder -Objekte konvertieren und wie Sie mit Arrays und Objekten in JSON umgehen.

1. JSON-String in PHP-Array konvertieren

Das Folgende ist ein Beispiel für JSON-Daten:

{
   "name": "Tom",
   "age": 26,
   "email": "tom@example.com",
   "hobbies": ["reading", "swimming", "traveling"],
   "address": {
      "city": "Beijing",
      "province": "Beijing",
      "country": "China"
   }
}

Wir können die Funktion json_decode() verwenden, um sie in ein PHP-Array zu konvertieren:

$json = '{
   "name": "Tom",
   "age": 26,
   "email": "tom@example.com",
   "hobbies": ["reading", "swimming", "traveling"],
   "address": {
      "city": "Beijing",
      "province": "Beijing",
      "country": "China"
   }
}';

$array = json_decode($json, true);

Beim Aufruf der Funktion json_decode() , Der erste Parameter wird in der zu konvertierenden JSON-Zeichenfolge übergeben, und der zweite Parameter wird in einem booleschen Wert übergeben, um anzugeben, ob das konvertierte Objekt ein Array (true) oder ein Objekt (false) ist, da standardmäßig json_decode() Die Funktion konvertiert einen JSON-String in ein Objekt.

Wir setzen den zweiten Parameter auf true, dann ist der Rückgabewert ein PHP-Array und das Ergebnis ist wie folgt:

Array
(
    [name] => Tom
    [age] => 26
    [email] => tom@example.com
    [hobbies] => Array
        (
            [0] => reading
            [1] => swimming
            [2] => traveling
        )

    [address] => Array
        (
            [city] => Beijing
            [province] => Beijing
            [country] => China
        )

)

2 Konvertieren Sie den JSON-String in ein PHP-Objekt

Wenn der zweite Parameter von json_decode(). Die Funktion lautet: Wenn sie auf „false“ gesetzt ist, wird ein PHP-Objekt zurückgegeben. Das Folgende ist ein Beispielcode:

$json = '{
   "name": "Tom",
   "age": 26,
   "email": "tom@example.com",
   "hobbies": ["reading", "swimming", "traveling"],
   "address": {
      "city": "Beijing",
      "province": "Beijing",
      "country": "China"
   }
}';

$obj = json_decode($json, false);

Nachdem der zweite Parameter auf false gesetzt wurde, ist $obj ein PHP-Objekt und das Ergebnis ist wie folgt:

stdClass Object
(
    [name] => Tom
    [age] => 26
    [email] => tom@example.com
    [hobbies] => Array
        (
            [0] => reading
            [1] => swimming
            [2] => traveling
        )

    [address] => stdClass Object
        (
            [city] => Beijing
            [province] => Beijing
            [country] => China
        )

)

3. Verarbeiten von Arrays in JSON

Wenn die JSON-Daten Arrays enthalten, wir Es kann weiterhin mit der Funktion json_decode() in ein PHP-Array oder -Objekt konvertiert werden. Hier ist ein Beispiel für JSON-Daten, die ein Array enthalten:

{
   "name": "Tom",
   "age": 26,
   "email": "tom@example.com",
   "hobbies": ["reading", "swimming", "traveling"],
   "scores": [
      {"subject": "math", "score": 90},
      {"subject": "physics", "score": 85},
      {"subject": "chemistry", "score": 78}
   ]
}

Wir können die Funktion json_decode() verwenden, um sie in ein PHP-Array zu konvertieren:

$json = '{
   "name": "Tom",
   "age": 26,
   "email": "tom@example.com",
   "hobbies": ["reading", "swimming", "traveling"],
   "scores": [
      {"subject": "math", "score": 90},
      {"subject": "physics", "score": 85},
      {"subject": "chemistry", "score": 78}
   ]
}';

$array = json_decode($json, true);

Das konvertierte Ergebnis ist wie folgt:

Array
(
    [name] => Tom
    [age] => 26
    [email] => tom@example.com
    [hobbies] => Array
        (
            [0] => reading
            [1] => swimming
            [2] => traveling
        )

    [scores] => Array
        (
            [0] => Array
                (
                    [subject] => math
                    [score] => 90
                )

            [1] => Array
                (
                    [subject] => physics
                    [score] => 85
                )

            [2] => Array
                (
                    [subject] => chemistry
                    [score] => 78
                )

        )

)

Wir können auch den ersten Teil konvertieren der Funktion json_decode() Setzen Sie die beiden Parameter auf false, um sie in PHP-Objekte zu konvertieren. Die konvertierten Ergebnisse sind wie folgt:

stdClass Object
(
    [name] => Tom
    [age] => 26
    [email] => tom@example.com
    [hobbies] => Array
        (
            [0] => reading
            [1] => swimming
            [2] => traveling
        )

    [scores] => Array
        (
            [0] => stdClass Object
                (
                    [subject] => math
                    [score] => 90
                )

            [1] => stdClass Object
                (
                    [subject] => physics
                    [score] => 85
                )

            [2] => stdClass Object
                (
                    [subject] => chemistry
                    [score] => 78
                )

        )

)

4. Objekte in JSON verarbeiten

Wenn JSON-Daten Objekte enthalten, können wir sie auch mit der Funktion json_decode() in ein PHP-Array oder -Objekt konvertieren. Das Folgende ist ein Beispiel für JSON-Daten, die Objekte enthalten:

{
   "name": "Tom",
   "age": 26,
   "email": "tom@example.com",
   "hobbies": ["reading", "swimming", "traveling"],
   "address": {
      "city": "Beijing",
      "province": "Beijing",
      "country": "China"
   },
   "scores": {
      "math": 90,
      "physics": 85,
      "chemistry": 78
   }
}

Wir können sie weiterhin mit der Funktion json_decode() in ein PHP-Array oder -Objekt konvertieren:

$json = '{
   "name": "Tom",
   "age": 26,
   "email": "tom@example.com",
   "hobbies": ["reading", "swimming", "traveling"],
   "address": {
      "city": "Beijing",
      "province": "Beijing",
      "country": "China"
   },
   "scores": {
      "math": 90,
      "physics": 85,
      "chemistry": 78
   }
}';

$array = json_decode($json, true);
$obj = json_decode($json, false);

Die konvertierten PHP-Arrays und -Objekte lauten wie folgt:

Array
(
    [name] => Tom
    [age] => 26
    [email] => tom@example.com
    [hobbies] => Array
        (
            [0] => reading
            [1] => swimming
            [2] => traveling
        )

    [address] => Array
        (
            [city] => Beijing
            [province] => Beijing
            [country] => China
        )

    [scores] => Array
        (
            [math] => 90
            [physics] => 85
            [chemistry] => 78
        )

)

stdClass Object
(
    [name] => Tom
    [age] => 26
    [email] => tom@example.com
    [hobbies] => Array
        (
            [0] => reading
            [1] => swimming
            [2] => traveling
        )

    [address] => stdClass Object
        (
            [city] => Beijing
            [province] => Beijing
            [country] => China
        )

    [scores] => stdClass Object
        (
            [math] => 90
            [physics] => 85
            [chemistry] => 78
        )

)

5 . Konvertieren PHP-Array oder -Objekt in JSON konvertieren

Nach Abschluss der Analyse und Bearbeitung der JSON-Daten müssen wir möglicherweise auch das PHP-Array oder -Objekt für die anschließende Verarbeitung oder Übertragung in eine JSON-Formatzeichenfolge konvertieren. Mit der Funktion json_encode() können Sie ein PHP-Array oder -Objekt in einen JSON-formatierten String konvertieren. Das Folgende ist ein Beispielcode:

$array = array(
   'name' => 'Tom',
   'age' => 26,
   'email' => 'tom@example.com',
   'hobbies' => array('reading', 'swimming', 'traveling'),
   'address' => array(
      'city' => 'Beijing',
      'province' => 'Beijing',
      'country' => 'China'
   ),
   'scores' => array(
      'math' => 90,
      'physics' => 85,
      'chemistry' => 78
   )
);

$json = json_encode($array);

Nach dem Aufruf der Funktion json_encode() ist der Wert von $json die konvertierte JSON-Formatzeichenfolge und das Ergebnis sieht wie folgt aus:

{
   "name":"Tom",
   "age":26,
   "email":"tom@example.com",
   "hobbies":["reading","swimming","traveling"],
   "address":{
      "city":"Beijing",
      "province":"Beijing",
      "country":"China"
   },
   "scores":{
      "math":90,
      "physics":85,
      "chemistry":78
   }
}

6. Konvertieren Sie das PHP-Array oder -Objekt in JSON und Ausgabe

Wenn Sie Daten direkt im JSON-Format in PHP ausgeben müssen, können wir das Ergebnis direkt nach dem Aufruf der Funktion json_encode() ausgeben. Das folgende Beispiel:

$array = array(
   'name' => 'Tom',
   'age' => 26,
   'email' => 'tom@example.com',
   'hobbies' => array('reading', 'swimming', 'traveling'),
   'address' => array(
      'city' => 'Beijing',
      'province' => 'Beijing',
      'country' => 'China'
   ),
   'scores' => array(
      'math' => 90,
      'physics' => 85,
      'chemistry' => 78
   )
);

header('Content-Type: application/json');
echo json_encode($array);

Im obigen Beispiel legen wir die Antwortheaderinformationen über die Funktion header() fest und setzen den ContentType auf application/json, was angibt, dass die zurückgegebenen Daten im JSON-Format vorliegen. Verwenden Sie dann echo, um die konvertierten JSON-Daten auszugeben.

Fazit

In diesem Artikel wird hauptsächlich die Konvertierung von JSON-Daten in PHP-Arrays oder -Objekte erläutert. Außerdem wird erläutert, wie Arrays und Objekte in JSON verarbeitet werden, und es wird gezeigt, wie PHP-Arrays oder -Objekte in Zeichenfolgen im JSON-Format konvertiert werden. Ich hoffe, dieser Artikel kann PHP-Entwicklern helfen.

Das obige ist der detaillierte Inhalt vonLassen Sie uns darüber sprechen, wie Sie JSON-Daten in ein PHP-Array oder -Objekt konvertieren. 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