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

So konvertieren Sie JSON in ein PHP-Array-Objekt

PHPz
PHPzOriginal
2023-04-26 10:24:52499Durchsuche

JSON (JavaScript Object Notation) ist ein leichtes Datenaustauschformat, das häufig für die Front-End- und Back-End-Datenübertragung verwendet wird. Das PHP-Array ist eine sehr verbreitete Datenstruktur, die hauptsächlich zum Speichern und Bearbeiten von Daten verwendet wird. In der tatsächlichen Entwicklung müssen wir häufig die vom Frontend empfangenen JSON-Daten in ein PHP-Array konvertieren, um die anschließende Verarbeitung und Speicherung zu erleichtern. In diesem Artikel erfahren Sie, wie Sie JSON-Daten in PHP-Arrays und Objekt-Arrays konvertieren.

Was ist JSON?

JSON ist ein leichtes Datenaustauschformat, das bei Front-End- und Back-End-Interaktionen sehr verbreitet ist. Im Gegensatz zu XML ist JSON prägnanter und einfacher zu analysieren. Hier ist zum Beispiel ein einfaches Beispiel für JSON-Daten:

{
  "name": "Lucy",
  "age": 18,
  "gender": "female"
}

Schauen wir uns diese JSON-Datenstruktur an. Es handelt sich tatsächlich um ein Objekt, das drei Schlüssel-Wert-Paare enthält. Jedes Schlüssel-Wert-Paar besteht aus einem Schlüssel und einem Wert, getrennt durch Doppelpunkte, und Schlüssel-Wert-Paare werden durch Kommas getrennt. Der Schlüssel ist eine Zeichenfolge und der Wert kann ein anderer Datentyp sein, z. B. eine Zeichenfolge, eine Zahl, ein boolescher Wert, ein Objekt, ein Array usw.

JSON-Daten in ein PHP-Array konvertieren

In PHP können wir die Funktion json_decode() verwenden, um JSON-Daten in ein PHP-Array zu konvertieren. Diese Funktion akzeptiert zwei Parameter. Der erste Parameter sind die zu analysierenden JSON-Daten. Der zweite Parameter ist ein boolescher Wert, der standardmäßig „false“ ist und angibt, ob die JSON-Daten in ein assoziatives Array statt in ein Objekt konvertiert werden sollen. Hier ist ein einfaches Beispiel: json_decode() 函数将 JSON 数据转换为 PHP 数组。这个函数接受两个参数,第一个参数是要解析的 JSON 数据,第二个参数是一个布尔值,默认为 false,指定是否将 JSON 数据转换为关联数组而不是对象。下面是一个简单的示例:

$json_data = '{ "name": "Lucy", "age": 18, "gender": "female" }';
$php_data = json_decode($json_data);

// 输出转换后的 PHP 数组
var_dump($php_data);

输出结果如下:

array(3) {
  ["name"]=>
  string(4) "Lucy"
  ["age"]=>
  int(18)
  ["gender"]=>
  string(6) "female"
}

如上所示,json_decode() 函数成功将 JSON 数据转换为 PHP 数组。如果第二个参数为 true,即将 JSON 数据转换为关联数组,那么我们可以这样写:

$json_data = '{ "name": "Lucy", "age": 18, "gender": "female" }';
$php_data = json_decode($json_data, true);

// 输出转换后的 PHP 关联数组
var_dump($php_data);

输出结果如下:

array(3) {
  ["name"]=>
  string(4) "Lucy"
  ["age"]=>
  int(18)
  ["gender"]=>
  string(6) "female"
}

将 JSON 数据转换为 PHP 对象数组

如果 JSON 数据中包含多个对象,我们需要将它们转换为 PHP 的对象数组。下面是一个 JSON 数组示例:

[
  { "name": "Lucy", "age": 18, "gender": "female" },
  { "name": "Tom", "age": 20, "gender": "male" }
]

我们可以使用 json_decode() 函数将这个 JSON 数组转换为 PHP 数组,然后使用 foreach 循环遍历数组,将每个数组元素转换为 PHP 对象。下面是示例代码:

$json_data = '[{ "name": "Lucy", "age": 18, "gender": "female" },
              { "name": "Tom", "age": 20, "gender": "male" }]';
$php_data = json_decode($json_data);

// 将数组元素转换为 PHP 对象
foreach ($php_data as $item) {
  $obj_array[] = (object) $item;
}

// 输出转换后的 PHP 对象数组
var_dump($obj_array);

输出结果如下:

array(2) {
  [0]=>
  object(stdClass)#1 (3) {
    ["name"]=>
    string(4) "Lucy"
    ["age"]=>
    int(18)
    ["gender"]=>
    string(6) "female"
  }
  [1]=>
  object(stdClass)#2 (3) {
    ["name"]=>
    string(3) "Tom"
    ["age"]=>
    int(20)
    ["gender"]=>
    string(4) "male"
  }
}

在这段代码中,我们首先使用 json_decode() 函数将 JSON 数据转换为 PHP 数组。然后,我们通过 foreach 循环遍历数组,将每个数组元素转换为 PHP 对象,存储到 $obj_array 中。在转换为 PHP 对象时,我们使用了 (object)rrreee

Die Ausgabe lautet wie folgt:

rrreee

Wie oben gezeigt, konvertiert die Funktion json_decode() JSON-Daten erfolgreich in ein PHP-Array. Wenn der zweite Parameter wahr ist, also JSON-Daten in ein assoziatives Array konvertiert, können wir so schreiben:

rrreee

Das Ausgabeergebnis lautet wie folgt: 🎜rrreee🎜JSON-Daten in ein Array von PHP-Objekten konvertieren🎜🎜If Da die JSON-Daten mehrere Objekte enthalten, müssen wir sie in PHP-Objektarrays konvertieren. Das Folgende ist ein Beispiel für ein JSON-Array: 🎜rrreee🎜Wir können die Funktion json_decode() verwenden, um dieses JSON-Array in ein PHP-Array zu konvertieren, und dann foreach verwenden, um Durchlaufen Sie das Array und konvertieren Sie jedes Array-Element, das in PHP-Objekte konvertiert wird. Hier ist der Beispielcode: 🎜rrreee🎜Die Ausgabe lautet wie folgt: 🎜rrreee🎜In diesem Code verwenden wir zunächst die Funktion json_decode(), um die JSON-Daten in ein PHP-Array zu konvertieren. Anschließend durchlaufen wir das Array mit foreach, konvertieren jedes Array-Element in ein PHP-Objekt und speichern es in $obj_array. Bei der Konvertierung in ein PHP-Objekt verwenden wir die Umwandlung (object), um die Array-Elemente in ein PHP-Objekt zu konvertieren. 🎜🎜Zusammenfassung🎜🎜In diesem Artikel wird erläutert, wie JSON-Daten in PHP-Arrays und Objektarrays konvertiert werden. In der tatsächlichen Entwicklung müssen wir häufig mit Front-End- und Back-End-Daten interagieren. Daher ist es sehr wichtig, die Konvertierung zwischen JSON- und PHP-Arrays zu verstehen. Es ist zu beachten, dass wir bei der Konvertierung den Datentyp kennen müssen, mit dem wir arbeiten, um die entsprechende Funktion korrekt zur Verarbeitung nutzen zu können. 🎜

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