Maison > développement back-end > Problème PHP > Comment convertir des données JSON en objet tableau en php

Comment convertir des données JSON en objet tableau en php

PHPz
Libérer: 2023-04-23 09:18:37
original
488 Les gens l'ont consulté

Pendant le processus de développement, nous impliquons souvent la conversion des données JSON en tableaux ou tableaux d'objets. En tant que langage de programmation côté serveur populaire, PHP fournit également des méthodes pratiques pour effectuer des opérations de conversion lors du traitement des données JSON. Cet article utilise un exemple pour montrer comment convertir des données JSON en un tableau d'objets tableau.

Connaissances pré-requises

Avant d'expliquer les opérations spécifiques, vous devez comprendre quelques connaissances de base en PHP.

JSON

JSON (abréviation de JavaScript Object Notation) est un format d'échange de données léger. Il représente les données sous forme de paires clé-valeur ou au format tableau. Les données JSON peuvent être représentées à l'aide d'objets et de tableaux en JavaScript.

Array en PHP

En PHP, un tableau est une structure qui collecte des données. Il peut stocker différents types de valeurs dans un tableau, chaque valeur est associée à une clé, et la clé peut être n'importe quelle chaîne ou entier.

Objet stdClass en PHP

L'objet stdClass est un modèle objet très simple en PHP. Il peut attribuer dynamiquement des propriétés selon les besoins, il peut également convertir des objets en tableaux et des tableaux en objets, ce qui est très utile pour le traitement des données JSON. est très utile.

Convertir Json en tableau

Voyons d'abord comment convertir des données JSON en un tableau PHP. PHP fournit une fonction intégrée json_decode(), qui peut convertir une chaîne JSON en un tableau PHP. L'utilisation de cette fonction est la suivante :

mixed json_decode ( string $json [, bool $assoc = FALSE [, int $depth = 512 [, int $options = 0 ]]] )
Copier après la connexion

Parmi eux, $json représente la chaîne JSON qui doit être convertie ; $assoc représente s'il faut renvoyer un tableau associatif (la valeur par défaut est false, c'est-à-dire qu'un objet est renvoyé) ; $profondeur représente la profondeur de récursion maximale (la valeur par défaut est 512) ; $options représente les options de conversion (la valeur par défaut est 0).

Voici un exemple simple, en supposant que nous avons un fichier contenant des données JSON data.json :

{
    "name": "Typechoer",
    "age": 25,
    "gender": "male",
    "skills": ["PHP", "JavaScript", "CSS"]
}
Copier après la connexion

Nous pouvons utiliser le code suivant pour lire les données JSON et les convertir en un tableau PHP :

$json = file_get_contents('data.json');
$data = json_decode($json, true);
print_r($data);
Copier après la connexion
Copier après la connexion

Le résultat est le suivant :

Array
(
    [name] => Typechoer
    [age] => 25
    [gender] => male
    [skills] => Array
        (
            [0] => PHP
            [1] => JavaScript
            [2] => CSS
        )
)
Copier après la connexion
Copier après la connexion

Comme vous pouvez le voir, nous avons implémenté l'opération de conversion des données JSON en un tableau PHP, et le type de données reste inchangé.

Convertir Json en tableau d'objets

En plus de convertir les données JSON en tableaux PHP, vous pouvez également les convertir en tableaux d'objets. Un tableau d'objets est un tableau d'objets stdClass, où chaque objet représente un élément. Nous n'avons pas besoin de nous soucier des noms de champs de l'objet, il nous suffit d'y accéder via les propriétés de l'objet. Voici une méthode pour convertir les données JSON en un tableau d'objets PHP :

json_decode(string, false, 512, JSON_OBJECT_AS_ARRAY);
Copier après la connexion

Comme vous pouvez le voir, il suffit de définir le paramètre $assoc sur false et le paramètre $options sur JSON_OBJECT_AS_ARRAY, puis d'utiliser la fonction json_decode() pour effectuer l'opération de conversion.

De même, sur la base des données JSON ci-dessus, nous pouvons utiliser le code suivant pour le convertir en un tableau d'objets PHP :

$json = file_get_contents('data.json');
$data = json_decode($json, false, 512, JSON_OBJECT_AS_ARRAY);
print_r($data);
Copier après la connexion
Copier après la connexion

Le résultat de sortie est le suivant :

Array
(
    [name] => Typechoer
    [age] => 25
    [gender] => male
    [skills] => Array
        (
            [0] => PHP
            [1] => JavaScript
            [2] => CSS
        )
)
Copier après la connexion
Copier après la connexion

Puisque nous utilisons un tableau d'objets, nous pouvons utiliser un objet propriétés pour accéder aux données, telles que :

echo $data[0]->name; // Typechoer
echo $data[0]->skills[2]; // CSS
Copier après la connexion

Json converti en tableau multidimensionnel

Si les données JSON contiennent des sous-objets ou des tableaux imbriqués, nous pouvons toujours conserver les caractéristiques multidimensionnelles des données lors de leur conversion à un tableau PHP ou un tableau d'objets.

Ce qui suit est un exemple de données JSON avec une structure imbriquée :

{
    "account": {
        "name": "Tom",
        "age": 28
    },
    "courses": [
        {
            "name": "PHP",
            "hour": 80
        },
        {
            "name": "JavaScript",
            "hour": 60
        }
    ]
}
Copier après la connexion

Nous pouvons utiliser le code suivant pour le convertir en un tableau PHP :

$json = file_get_contents('data.json');
$data = json_decode($json, true);
print_r($data);
Copier après la connexion
Copier après la connexion

Le résultat est le suivant :

Array
(
    [account] => Array
        (
            [name] => Tom
            [age] => 28
        )

    [courses] => Array
        (
            [0] => Array
                (
                    [name] => PHP
                    [hour] => 80
                )

            [1] => Array
                (
                    [name] => JavaScript
                    [hour] => 60
                )

        )

)
Copier après la connexion
Copier après la connexion

De même, nous pouvons également convertir dans un tableau d'objets PHP :

$json = file_get_contents('data.json');
$data = json_decode($json, false, 512, JSON_OBJECT_AS_ARRAY);
print_r($data);
Copier après la connexion
Copier après la connexion

Le résultat de sortie est le suivant :

Array
(
    [account] => Array
        (
            [name] => Tom
            [age] => 28
        )

    [courses] => Array
        (
            [0] => Array
                (
                    [name] => PHP
                    [hour] => 80
                )

            [1] => Array
                (
                    [name] => JavaScript
                    [hour] => 60
                )

        )

)
Copier après la connexion
Copier après la connexion

On peut voir que la structure des données multidimensionnelles est préservée.

Résumé

Dans cet article, nous avons présenté comment convertir des données JSON en un tableau PHP ou un tableau d'objets. Grâce à la fonction json_decode() intégrée de PHP, nous pouvons rapidement convertir entre les données JSON et les données PHP. Si vous avez besoin de gérer des données JSON en cours de développement, ces connaissances vous aideront certainement.

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