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

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

王林
王林Original
2023-05-06 12:10:08382Durchsuche

Während des Kodierungsprozesses ist die Übertragung von Daten im JSON-Format ein sehr häufiger Vorgang. PHP bietet eine Funktion namens json_decode() zum Konvertieren von JSON-Strings in PHP-Werte. In diesem Artikel wird erläutert, wie Sie mit PHP JSON in Arrays und Objekte konvertieren. json_decode() 的函数,用于将 JSON 字符串转换为 PHP 值。本文将介绍如何使用 PHP 来将 JSON 转换为数组和对象。

使用 json_decode() 转换为数组

假设我们有以下 JSON 字符串:

{
    "name": "Tom",
    "age": 30,
    "hobbies": ["reading", "running", "swimming"],
    "address": {
        "city": "Beijing",
        "country": "China"
    }
}

现在我们需要将其转换为 PHP 数组。我们可以使用 json_decode() 函数,并将第二个参数设置为 true,以表示将 JSON 字符串转换为关联数组,代码如下:

$jsonString = '{"name":"Tom","age":30,"hobbies":["reading","running","swimming"],"address":{"city":"Beijing","country":"China"}}';
$assocArray = json_decode($jsonString, true);
print_r($assocArray);

输出结果为:

Array
(
    [name] => Tom
    [age] => 30
    [hobbies] => Array
        (
            [0] => reading
            [1] => running
            [2] => swimming
        )

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

)

可以看到,我们成功将 JSON 字符串转换为了 PHP 数组,并打印了其结果。

使用 json_decode() 转换为对象

除了将 JSON 字符串转换为 PHP 数组外,我们还可以将其转换为 PHP 对象。同样地,我们可以使用 json_decode() 函数,并将第二个参数设置为 false 或省略,以表示将 JSON 字符串转换为对象,代码如下:

$jsonString = '{"name":"Tom","age":30,"hobbies":["reading","running","swimming"],"address":{"city":"Beijing","country":"China"}}';
$obj = json_decode($jsonString);
var_dump($obj);

输出结果为:

object(stdClass)#1 (4) {
  ["name"]=>
  string(3) "Tom"
  ["age"]=>
  int(30)
  ["hobbies"]=>
  array(3) {
    [0]=>
    string(7) "reading"
    [1]=>
    string(7) "running"
    [2]=>
    string(8) "swimming"
  }
  ["address"]=>
  object(stdClass)#2 (2) {
    ["city"]=>
    string(7) "Beijing"
    ["country"]=>
    string(5) "China"
  }
}

可以看到,我们成功将 JSON 字符串转换为了 PHP 对象,并打印了其结果。

使用 json_decode() 转换为对象数组

在某些情况下,我们需要将 JSON 字符串转换为多个 PHP 对象。在这种情况下,我们可以先将其转换为 PHP 数组,然后使用数组映射函数将其转换为 PHP 对象数组。代码如下:

$jsonString = '[{"name":"Tom","age":30},{"name":"Alice","age":25},{"name":"Bob","age":40}]';
$array = json_decode($jsonString, true);
$objArray = array_map(function($item) {
    return (object) $item;
}, $array);
print_r($objArray);

输出结果为:

Array
(
    [0] => stdClass Object
        (
            [name] => Tom
            [age] => 30
        )

    [1] => stdClass Object
        (
            [name] => Alice
            [age] => 25
        )

    [2] => stdClass Object
        (
            [name] => Bob
            [age] => 40
        )

)

可以看到,我们成功将 JSON 字符串转换为了 PHP 对象数组,并打印了其结果。

总之,PHP 提供了一个非常方便的方法来将 JSON 字符串转换为 PHP 数组和对象。我们只需要使用 json_decode()

In Array konvertieren mit json_decode()

Angenommen, wir haben die folgende JSON-Zeichenfolge: 🎜rrreee🎜Jetzt müssen wir sie in ein PHP-Array konvertieren. Wir können die Funktion json_decode() verwenden und den zweiten Parameter auf true setzen, um die JSON-Zeichenfolge in ein assoziatives Array umzuwandeln. Der Code lautet wie folgt: 🎜rrreee🎜Output The Das Ergebnis ist: 🎜rrreee🎜Wie Sie sehen können, haben wir den JSON-String erfolgreich in ein PHP-Array konvertiert und das Ergebnis gedruckt. 🎜

Konvertieren in ein Objekt mit json_decode()

🎜Zusätzlich zur Konvertierung der JSON-Zeichenfolge in ein PHP-Array können wir sie auch in ein PHP-Objekt konvertieren. Ebenso können wir die Funktion json_decode() verwenden und den zweiten Parameter auf false setzen oder ihn weglassen, um die JSON-Zeichenfolge in ein Objekt umzuwandeln. Der Code lautet wie folgt: 🎜 rrreee🎜Das Ausgabeergebnis ist: 🎜rrreee🎜Wie Sie sehen können, haben wir den JSON-String erfolgreich in ein PHP-Objekt konvertiert und das Ergebnis gedruckt. 🎜

Verwenden Sie json_decode(), um in ein Array von Objekten zu konvertieren

🎜In einigen Fällen müssen wir einen JSON-String in mehrere PHP-Objekte konvertieren. In diesem Fall können wir es zunächst in ein PHP-Array konvertieren und es dann mithilfe der Array-Mapping-Funktion in ein Array von PHP-Objekten konvertieren. Der Code lautet wie folgt: 🎜rrreee🎜Das Ausgabeergebnis ist: 🎜rrreee🎜Wie Sie sehen können, haben wir den JSON-String erfolgreich in ein Array von PHP-Objekten konvertiert und das Ergebnis gedruckt. 🎜🎜Kurz gesagt bietet PHP eine sehr praktische Möglichkeit, JSON-Strings in PHP-Arrays und -Objekte zu konvertieren. Wir müssen lediglich die Funktion json_decode() verwenden und die entsprechenden Parameter angeben. Dies ist nützlich, da die meisten Web-APIs Daten in JSON zurückgeben. 🎜

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