Maison  >  Article  >  développement back-end  >  Comment convertir php json en objet tableau

Comment convertir php json en objet tableau

PHPz
PHPzoriginal
2023-04-18 09:47:31498parcourir

Dans le développement Web, il est souvent nécessaire de convertir des chaînes au format JSON en objets tableau pour faciliter le traitement des données. En PHP, nous pouvons accomplir cette tâche grâce à des fonctions intégrées. Cet article explique comment convertir JSON en objet tableau en PHP.

Tout d'abord, nous devons comprendre la structure de base et le but du format JSON. JSON (JavaScript Object Notation) est un format d'échange de données léger exprimé au format texte qui peut être utilisé pour l'échange de données entre diverses applications. Sa structure de base est une paire clé-valeur, séparée par des virgules, utilisant des accolades pour représenter un objet et des crochets pour représenter un tableau.

Un exemple de chaîne au format JSON est le suivant :

{
   "name": "Lucy",
   "age": 25,
   "hobbies": ["reading", "swimming", "traveling"],
   "address": {
       "country": "China",
       "city": "Beijing",
       "postal_code": "100000"
   }
}

En PHP, nous pouvons utiliser la fonction json_decode() pour convertir une chaîne JSON en un objet tableau. Le premier paramètre de cette fonction est la chaîne JSON à convertir et le deuxième paramètre est utilisé pour définir le type de données converties. Par exemple, nous pouvons définir le deuxième paramètre sur true pour le convertir en un tableau associatif ; nous pouvons également le définir sur false pour le convertir en un tableau d'objets ordinaire. L'exemple de code est le suivant :

$json_str = '{
   "name": "Lucy",
   "age": 25,
   "hobbies": ["reading", "swimming", "traveling"],
   "address": {
       "country": "China",
       "city": "Beijing",
       "postal_code": "100000"
   }
}';

$arr = json_decode($json_str, true);
var_dump($arr);

Le résultat de sortie est :

array(4) {
  ["name"]=>
  string(4) "Lucy"
  ["age"]=>
  int(25)
  ["hobbies"]=>
  array(3) {
    [0]=>
    string(7) "reading"
    [1]=>
    string(8) "swimming"
    [2]=>
    string(9) "traveling"
  }
  ["address"]=>
  array(3) {
    ["country"]=>
    string(5) "China"
    ["city"]=>
    string(7) "Beijing"
    ["postal_code"]=>
    string(6) "100000"
  }
}

Comme vous pouvez le voir, nous convertissons la chaîne JSON en un objet tableau en utilisant la fonction json_decode(). Parmi eux, le nom et l'âge sont des paires clé-valeur ordinaires, et les loisirs et l'adresse représentent respectivement un tableau et un objet imbriqués. Dans le tableau converti, nous pouvons accéder à la valeur correspondante via le nom de clé correspondant.

De plus, nous pouvons également convertir des chaînes JSON en objets. L'exemple de code est le suivant :

$json_str = '{
   "name": "Lucy",
   "age": 25,
   "hobbies": ["reading", "swimming", "traveling"],
   "address": {
       "country": "China",
       "city": "Beijing",
       "postal_code": "100000"
   }
}';

$obj = json_decode($json_str);
var_dump($obj);

Le résultat de sortie est :

object(stdClass)#1 (4) {
  ["name"]=>
  string(4) "Lucy"
  ["age"]=>
  int(25)
  ["hobbies"]=>
  array(3) {
    [0]=>
    string(7) "reading"
    [1]=>
    string(8) "swimming"
    [2]=>
    string(9) "traveling"
  }
  ["address"]=>
  object(stdClass)#2 (3) {
    ["country"]=>
    string(5) "China"
    ["city"]=>
    string(7) "Beijing"
    ["postal_code"]=>
    string(6) "100000"
  }
}

Nous pouvons voir que le résultat converti est un objet stdClass, qui est un objet PHP ordinaire. Nous pouvons également accéder à la valeur correspondante via le nom de l'attribut correspondant.

En bref, en PHP, nous pouvons facilement traiter les données en utilisant la fonction json_decode() intégrée pour convertir des chaînes au format JSON en objets tableau ou en objets PHP ordinaires. Dans le développement Web actuel, le traitement des données au format JSON est devenu très courant, donc maîtriser les connaissances pertinentes en matière de conversion JSON est devenu l'une des compétences nécessaires.

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