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

So konvertieren Sie einen JSON-String in ein Array oder Objekt in PHP

PHPz
PHPzOriginal
2023-04-20 10:12:07795Durchsuche

Beim Einsatz von PHP für die Webentwicklung haben wir es oft mit JSON-Daten zu tun. Wenn es sich bei den Daten, die wir erhalten, um JSON-Daten in Form einer Zeichenfolge handelt, müssen wir sie zur späteren Verarbeitung in ein Objekt oder Array in PHP konvertieren. In diesem Artikel besprechen wir, wie man JSON-Daten in Form von Strings in Objekte oder Arrays umwandelt.

1. Konvertieren Sie die Zeichenfolge in ein JSON-Objekt.

Zuerst müssen wir die Funktion json_decode() in PHP verwenden, um die JSON-Zeichenfolge in ein JSON-Objekt zu konvertieren. Die Syntax dieser Funktion lautet wie folgt: json_decode() 函数将 JSON 字符串转换为 JSON 对象。该函数的语法如下:

json_decode(string $json, bool $assoc = false, int $depth = 512, int $options = 0): mixed

其中,$json 参数表示需要转换的 JSON 字符串;$assoc 参数表示是否将转换后的 JSON 对象转换为数组形式;$depth 参数表示最大递归深度;$options 参数表示转换时的选项。

示例代码如下:

$json_string = '{"name":"张三","age":18}';
$json_obj = json_decode($json_string);
var_dump($json_obj);

输出结果:

object(stdClass)#1 (2) {
  ["name"]=>
  string(6) "张三"
  ["age"]=>
  int(18)
}

如上所述,使用 json_decode() 函数将 JSON 字符串转换为 JSON 对象,返回的是 PHP 中的 stdClass 对象。

二、将字符串转换为 JSON 数组

假如我们需要将 JSON 字符串转换为 PHP 中的数组,可以将 $assoc 参数设置为 true。示例代码如下:

$json_string = '[{"name":"张三","age":18},{"name":"李四","age":20}]';
$json_arr = json_decode($json_string, true);
var_dump($json_arr);

输出结果:

array(2) {
  [0]=>
  array(2) {
    ["name"]=>
    string(6) "张三"
    ["age"]=>
    int(18)
  }
  [1]=>
  array(2) {
    ["name"]=>
    string(6) "李四"
    ["age"]=>
    int(20)
  }
}

从上述例子中可以看出,经过转换后,原本是 JSON 对象的数据,如 {"name":"张三","age":18},被转换为了 PHP 中的数组形式,如["name" => "张三", "age" => 18]

三、将字符串转换为 JSON 对象数组

在实际应用中,我们可能需要将由多个 JSON 对象组成的 JSON 字符串转换为 PHP 中的对象数组。

示例代码如下:

$json_string = '[{"name":"张三","age":18},{"name":"李四","age":20}]';
$json_obj_arr = json_decode($json_string);
var_dump($json_obj_arr);

输出结果:

array(2) {
  [0]=>
  object(stdClass)#2 (2) {
    ["name"]=>
    string(6) "张三"
    ["age"]=>
    int(18)
  }
  [1]=>
  object(stdClass)#3 (2) {
    ["name"]=>
    string(6) "李四"
    ["age"]=>
    int(20)
  }
}

相比于将 JSON 字符串转换为数组,转换为对象数组则是更复杂一些的操作。在此示例代码中,使用 json_decode() 函数将字符串转换为 JSON 对象数组。返回结果是一个由多个 stdClassrrreee

Unter anderem gibt der Parameter $json die JSON-Zeichenfolge an, die konvertiert werden muss; Konvertieren Sie das konvertierte JSON-Objekt in ein Array. Der Parameter $length gibt die maximale Rekursionstiefe an; der Parameter $options gibt Optionen während der Konvertierung an.

Der Beispielcode lautet wie folgt: 🎜rrreee🎜Ausgabeergebnis: 🎜rrreee🎜Wie oben erwähnt, verwenden Sie die Funktion json_decode(), um die JSON-Zeichenfolge in ein JSON-Objekt zu konvertieren und den stdClass in PHP Objekt. 🎜🎜2. String in JSON-Array konvertieren🎜🎜Wenn wir einen JSON-String in ein Array in PHP konvertieren müssen, können wir den Parameter $assoc auf true setzen. Der Beispielcode lautet wie folgt: 🎜rrreee🎜 Ausgabeergebnis: 🎜rrreee🎜 Wie aus dem obigen Beispiel ersichtlich ist, handelt es sich bei den Daten nach der Konvertierung ursprünglich um ein JSON-Objekt, z. B. {"name":"Zhang San" ,"age": 18, wird in PHP in die Array-Form konvertiert, z. B. ["name" => "Zhang San", "age" => 18]. 🎜🎜3. Konvertieren Sie einen String in ein Array von JSON-Objekten🎜🎜In praktischen Anwendungen müssen wir möglicherweise einen JSON-String, der aus mehreren JSON-Objekten besteht, in ein Array von Objekten in PHP konvertieren. 🎜🎜Der Beispielcode lautet wie folgt: 🎜rrreee🎜Ausgabeergebnis: 🎜rrreee🎜Verglichen mit der Konvertierung einer JSON-Zeichenfolge in ein Array ist die Konvertierung in ein Objektarray ein komplizierterer Vorgang. In diesem Beispielcode wird die Funktion json_decode() verwendet, um einen String in ein Array von JSON-Objekten zu konvertieren. Das Rückgabeergebnis ist ein Array bestehend aus mehreren stdClass-Objekten. 🎜🎜Zusammenfassend lässt sich sagen, dass die Verarbeitung von JSON-Daten ein wesentlicher Bestandteil des Webentwicklungsprozesses ist. Durch die Einleitung dieses Artikels haben Sie gelernt, wie Sie einen JSON-String in ein Objekt oder Array in PHP konvertieren und wie Sie einen JSON-String, der aus mehreren Objekten besteht, in ein Array von Objekten in PHP konvertieren. 🎜

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