Maison >développement back-end >Problème PHP >Comment convertir une chaîne JSON en tableau ou objet en php

Comment convertir une chaîne JSON en tableau ou objet en php

PHPz
PHPzoriginal
2023-04-20 10:12:07796parcourir

Lorsque nous utilisons PHP pour le développement Web, nous traitons souvent de données JSON. Si les données que nous recevons sont des données JSON sous la forme d'une chaîne, nous devons alors les convertir en objet ou en tableau en PHP pour un traitement ultérieur. Dans cet article, nous verrons comment convertir des données JSON sous forme de chaînes en objets ou en tableaux.

1. Convertir la chaîne en un objet JSON

Tout d'abord, nous devons utiliser la fonction json_decode() en PHP pour convertir la chaîne JSON en un objet JSON. La syntaxe de cette fonction est la suivante : 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

Parmi eux, le paramètre $json indique la chaîne JSON qui doit être convertie ; convertit l'objet JSON converti en formulaire de tableau ; le paramètre $degrees indique la profondeur de récursion maximale ; le paramètre $options indique les options lors de la conversion.

L'exemple de code est le suivant : 🎜rrreee🎜Résultat de sortie : 🎜rrreee🎜Comme mentionné ci-dessus, utilisez la fonction json_decode() pour convertir la chaîne JSON en un objet JSON et renvoyez le stdClass dans l'objet PHP . 🎜🎜2. Convertir une chaîne en tableau JSON🎜🎜Si nous devons convertir une chaîne JSON en tableau en PHP, nous pouvons définir le paramètre $assoc sur true. L'exemple de code est le suivant : 🎜rrreee🎜 Résultat de sortie : 🎜rrreee🎜 Comme le montre l'exemple ci-dessus, après la conversion, les données sont à l'origine un objet JSON, tel que {"name": "Zhang San" ,"age": 18}, est converti sous forme de tableau en PHP, tel que ["name" => "Zhang San", "age" => 18]. 🎜🎜3. Convertir une chaîne en un tableau d'objets JSON🎜🎜Dans des applications pratiques, nous pouvons avoir besoin de convertir une chaîne JSON composée de plusieurs objets JSON en un tableau d'objets en PHP. 🎜🎜L'exemple de code est le suivant : 🎜rrreee🎜Résultat de sortie : 🎜rrreee🎜Par rapport à la conversion d'une chaîne JSON en tableau, sa conversion en tableau d'objets est une opération plus compliquée. Dans cet exemple de code, la fonction json_decode() est utilisée pour convertir une chaîne en un tableau d'objets JSON. Le résultat renvoyé est un tableau composé de plusieurs objets stdClass. 🎜🎜En résumé, le traitement des données JSON est une partie essentielle du processus de développement web. Grâce à l'introduction de cet article, vous avez appris comment convertir une chaîne JSON en un objet ou un tableau en PHP, et comment convertir une chaîne JSON composée de plusieurs objets en un tableau d'objets en PHP. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn