Maison > développement back-end > Problème PHP > Parlons de la façon de convertir les données json en tableau ou objet php

Parlons de la façon de convertir les données json en tableau ou objet php

PHPz
Libérer: 2023-04-17 15:56:25
original
643 Les gens l'ont consulté

Le format JSON est un format d'échange de données léger En raison de ses avantages de simplicité, de facilité d'utilisation, de rapidité et d'efficacité, il est devenu un format de données largement utilisé. En PHP, nous pouvons utiliser la fonction json_decode() pour convertir une chaîne JSON en un tableau ou un objet PHP. Cet article expliquera comment convertir des données au format JSON en tableaux ou objets PHP, et explorera également comment gérer les tableaux et les objets en JSON.

1. Convertir une chaîne JSON en tableau PHP

Ce qui suit est un exemple de données JSON :

{
   "name": "Tom",
   "age": 26,
   "email": "tom@example.com",
   "hobbies": ["reading", "swimming", "traveling"],
   "address": {
      "city": "Beijing",
      "province": "Beijing",
      "country": "China"
   }
}
Copier après la connexion

Nous pouvons utiliser la fonction json_decode() pour la convertir en tableau PHP :

$json = '{
   "name": "Tom",
   "age": 26,
   "email": "tom@example.com",
   "hobbies": ["reading", "swimming", "traveling"],
   "address": {
      "city": "Beijing",
      "province": "Beijing",
      "country": "China"
   }
}';

$array = json_decode($json, true);
Copier après la connexion

Lors de l'appel de la fonction json_decode() , Le premier paramètre est passé dans la chaîne JSON à convertir, et le deuxième paramètre est passé dans une valeur booléenne pour préciser si l'objet converti est un tableau (true) ou un objet (false), car par défaut Le json_decode() La fonction convertit une chaîne JSON en objet.

Nous définissons le deuxième paramètre sur true, puis la valeur de retour est un tableau PHP, et le résultat est le suivant :

Array
(
    [name] => Tom
    [age] => 26
    [email] => tom@example.com
    [hobbies] => Array
        (
            [0] => reading
            [1] => swimming
            [2] => traveling
        )

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

)
Copier après la connexion

2 Convertissez la chaîne JSON en un objet PHP

Si le deuxième paramètre de json_decode(). function est Si elle est définie sur false, un objet PHP est renvoyé. Voici un exemple de code :

$json = '{
   "name": "Tom",
   "age": 26,
   "email": "tom@example.com",
   "hobbies": ["reading", "swimming", "traveling"],
   "address": {
      "city": "Beijing",
      "province": "Beijing",
      "country": "China"
   }
}';

$obj = json_decode($json, false);
Copier après la connexion

Après avoir défini le deuxième paramètre sur false, $obj est un objet PHP, et le résultat est le suivant :

stdClass Object
(
    [name] => Tom
    [age] => 26
    [email] => tom@example.com
    [hobbies] => Array
        (
            [0] => reading
            [1] => swimming
            [2] => traveling
        )

    [address] => stdClass Object
        (
            [city] => Beijing
            [province] => Beijing
            [country] => China
        )

)
Copier après la connexion

3. Traitement des tableaux en JSON

Lorsque les données JSON contiennent des tableaux, nous Il peut toujours être converti en tableau ou objet PHP à l'aide de la fonction json_decode(). Voici un exemple de données JSON contenant un tableau :

{
   "name": "Tom",
   "age": 26,
   "email": "tom@example.com",
   "hobbies": ["reading", "swimming", "traveling"],
   "scores": [
      {"subject": "math", "score": 90},
      {"subject": "physics", "score": 85},
      {"subject": "chemistry", "score": 78}
   ]
}
Copier après la connexion

On peut utiliser la fonction json_decode() pour le convertir en tableau PHP :

$json = '{
   "name": "Tom",
   "age": 26,
   "email": "tom@example.com",
   "hobbies": ["reading", "swimming", "traveling"],
   "scores": [
      {"subject": "math", "score": 90},
      {"subject": "physics", "score": 85},
      {"subject": "chemistry", "score": 78}
   ]
}';

$array = json_decode($json, true);
Copier après la connexion

Le résultat converti est le suivant :

Array
(
    [name] => Tom
    [age] => 26
    [email] => tom@example.com
    [hobbies] => Array
        (
            [0] => reading
            [1] => swimming
            [2] => traveling
        )

    [scores] => Array
        (
            [0] => Array
                (
                    [subject] => math
                    [score] => 90
                )

            [1] => Array
                (
                    [subject] => physics
                    [score] => 85
                )

            [2] => Array
                (
                    [subject] => chemistry
                    [score] => 78
                )

        )

)
Copier après la connexion

On peut également convertir la première partie de la fonction json_decode() Définissez les deux paramètres sur false pour les convertir en objets PHP. Le résultat converti est le suivant :

stdClass Object
(
    [name] => Tom
    [age] => 26
    [email] => tom@example.com
    [hobbies] => Array
        (
            [0] => reading
            [1] => swimming
            [2] => traveling
        )

    [scores] => Array
        (
            [0] => stdClass Object
                (
                    [subject] => math
                    [score] => 90
                )

            [1] => stdClass Object
                (
                    [subject] => physics
                    [score] => 85
                )

            [2] => stdClass Object
                (
                    [subject] => chemistry
                    [score] => 78
                )

        )

)
Copier après la connexion

4. Traitement des objets en JSON

Lorsque les données JSON contiennent des objets, on peut également utiliser la fonction json_decode() pour les convertir en tableau ou objet PHP. Voici un exemple de données JSON contenant des objets :

{
   "name": "Tom",
   "age": 26,
   "email": "tom@example.com",
   "hobbies": ["reading", "swimming", "traveling"],
   "address": {
      "city": "Beijing",
      "province": "Beijing",
      "country": "China"
   },
   "scores": {
      "math": 90,
      "physics": 85,
      "chemistry": 78
   }
}
Copier après la connexion

Nous pouvons toujours utiliser la fonction json_decode() pour les convertir en un tableau ou un objet PHP :

$json = '{
   "name": "Tom",
   "age": 26,
   "email": "tom@example.com",
   "hobbies": ["reading", "swimming", "traveling"],
   "address": {
      "city": "Beijing",
      "province": "Beijing",
      "country": "China"
   },
   "scores": {
      "math": 90,
      "physics": 85,
      "chemistry": 78
   }
}';

$array = json_decode($json, true);
$obj = json_decode($json, false);
Copier après la connexion

Les tableaux et objets PHP convertis sont les suivants :

Array
(
    [name] => Tom
    [age] => 26
    [email] => tom@example.com
    [hobbies] => Array
        (
            [0] => reading
            [1] => swimming
            [2] => traveling
        )

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

    [scores] => Array
        (
            [math] => 90
            [physics] => 85
            [chemistry] => 78
        )

)

stdClass Object
(
    [name] => Tom
    [age] => 26
    [email] => tom@example.com
    [hobbies] => Array
        (
            [0] => reading
            [1] => swimming
            [2] => traveling
        )

    [address] => stdClass Object
        (
            [city] => Beijing
            [province] => Beijing
            [country] => China
        )

    [scores] => stdClass Object
        (
            [math] => 90
            [physics] => 85
            [chemistry] => 78
        )

)
Copier après la connexion

5 . Convertir Convertir un tableau ou un objet PHP en JSON

Après avoir terminé l'analyse et la manipulation des données JSON, nous devrons peut-être également convertir le tableau ou l'objet PHP en une chaîne au format JSON pour un traitement ou une transmission ultérieure. Vous pouvez utiliser la fonction json_encode() pour convertir un tableau ou un objet PHP en une chaîne au format JSON. Voici un exemple de code :

$array = array(
   'name' => 'Tom',
   'age' => 26,
   'email' => 'tom@example.com',
   'hobbies' => array('reading', 'swimming', 'traveling'),
   'address' => array(
      'city' => 'Beijing',
      'province' => 'Beijing',
      'country' => 'China'
   ),
   'scores' => array(
      'math' => 90,
      'physics' => 85,
      'chemistry' => 78
   )
);

$json = json_encode($array);
Copier après la connexion

Après avoir appelé la fonction json_encode(), la valeur de $json est la chaîne de format JSON convertie, et le résultat est le suivant :

{
   "name":"Tom",
   "age":26,
   "email":"tom@example.com",
   "hobbies":["reading","swimming","traveling"],
   "address":{
      "city":"Beijing",
      "province":"Beijing",
      "country":"China"
   },
   "scores":{
      "math":90,
      "physics":85,
      "chemistry":78
   }
}
Copier après la connexion

6. Convertissez le tableau ou l'objet PHP en JSON et sortie

Si Si vous avez besoin de sortir directement des données au format JSON en PHP, nous pouvons directement sortir le résultat après avoir appelé la fonction json_encode(). L'exemple suivant :

$array = array(
   'name' => 'Tom',
   'age' => 26,
   'email' => 'tom@example.com',
   'hobbies' => array('reading', 'swimming', 'traveling'),
   'address' => array(
      'city' => 'Beijing',
      'province' => 'Beijing',
      'country' => 'China'
   ),
   'scores' => array(
      'math' => 90,
      'physics' => 85,
      'chemistry' => 78
   )
);

header('Content-Type: application/json');
echo json_encode($array);
Copier après la connexion

Dans l'exemple ci-dessus, nous définissons les informations d'en-tête de réponse via la fonction header() et définissons le ContentType sur application/json, indiquant que les données renvoyées sont au format JSON. Utilisez ensuite echo pour afficher les données JSON converties.

Conclusion

Cet article présente principalement comment convertir des données JSON en tableaux ou objets PHP. Il explore également comment gérer des tableaux et des objets en JSON, et montre comment convertir des tableaux ou des objets PHP en chaînes au format JSON. J'espère que cet article pourra aider les développeurs 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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal