Maison > développement back-end > Problème PHP > Comment convertir un objet en tableau de chaînes JSON en php

Comment convertir un objet en tableau de chaînes JSON en php

PHPz
Libérer: 2023-04-19 14:06:00
original
594 Les gens l'ont consulté

Dans le développement Web, la conversion d'objets en tableaux de chaînes JSON est une opération très basique. En PHP, nous pouvons convertir des objets en tableaux de chaînes JSON en utilisant des fonctions intégrées. Ensuite, nous présenterons en détail comment convertir l'objet en un tableau de chaînes JSON.

Tout d’abord, nous devons comprendre ce qu’est JSON. JSON (JavaScript Object Notation) est un format d'échange de données léger couramment utilisé pour la transmission de données réseau. Il s'agit d'un format de données commun très courant dans les API AJAX et Restful. Le format JSON est très similaire au format des objets JavaScript, nous pouvons donc résoudre le problème du transfert de données multilingue en convertissant les objets JavaScript en JSON puis en les transmettant au serveur.

En PHP, nous pouvons utiliser la fonction json_encode pour convertir des objets en tableaux de chaînes JSON. Par exemple, nous avons le tableau associatif PHP suivant :

$data = array(
    'name' => 'Bob',
    'age' => '25',
    'gender' => 'Male'
);
Copier après la connexion

Utilisez la fonction json_encode pour le convertir en chaîne au format JSON. Le code est le suivant :

$json_data = json_encode($data);
echo $json_data;
Copier après la connexion

Le résultat de sortie est :

{"name":"Bob","age":"25","gender":"Male"}
Copier après la connexion
Copier après la connexion

Vous pouvez clairement voir que nous. convertir le tableau d'origine Convertir en un tableau de chaînes JSON composé de paires clé-valeur.

Lorsqu'il s'agit d'objets, nous devons d'abord convertir l'objet en tableau avant de pouvoir l'encoder en JSON. Voici un exemple de classe appelée Person :

class Person {
    public $name;
    public $age;
    public $gender;
    
    function __construct($name,$age,$gender) {
        $this->name = $name;
        $this->age = $age;
        $this->gender = $gender;
    }
}

$person = new Person('Bob',25,'Male');
Copier après la connexion

Nous pouvons convertir cette classe en un tableau contenant des propriétés :

$person_arr = array(
    'name' => $person->name,
    'age' => $person->age,
    'gender' => $person->gender
);
Copier après la connexion

Maintenant, nous pouvons utiliser la fonction json_encode pour convertir ce tableau en un tableau de chaînes JSON :

$json_person = json_encode($person_arr);
echo $json_person;
Copier après la connexion
Copier après la connexion

La sortie le résultat est :

{"name":"Bob","age":"25","gender":"Male"}
Copier après la connexion
Copier après la connexion

Vous pouvez voir que nous avons réussi à convertir l'objet Person en un tableau de chaînes JSON.

Lorsque nous traitons d'objets imbriqués, nous devons convertir de manière récursive toutes les propriétés imbriquées en tableaux. Par exemple, nous définissons un autre objet nommé Address :

class Address {
    public $country;
    public $state;
    public $city;
    
    function __construct($country,$state,$city) {
        $this->country = $country;
        $this->state = $state;
        $this->city = $city;
    }
}

$address = new Address('China','Sichuan','Chengdu');
Copier après la connexion

Maintenant, nous utilisons cet objet comme propriété de l'objet Person :

class Person {
    public $name;
    public $age;
    public $gender;
    public $address;
    
    function __construct($name,$age,$gender,$address) {
        $this->name = $name;
        $this->age = $age;
        $this->gender = $gender;
        $this->address = $address;
    }
}

$person = new Person('Bob',25,'Male',$address);
Copier après la connexion

Afin de convertir l'objet Person en un tableau de chaînes JSON, nous devons d'abord convertir l'adresse objet en tableau :

$address_arr = array(
    'country' => $address->country,
    'state' => $address->state,
    'city' => $address->city
);
Copier après la connexion

Ensuite, continuez à convertir l'objet Person en tableau :

$person_arr = array(
    'name' => $person->name,
    'age' => $person->age,
    'gender' => $person->gender,
    'address' => $address_arr
);
Copier après la connexion

Enfin, utilisez json_encode pour le convertir en un tableau de chaînes JSON :

$json_person = json_encode($person_arr);
echo $json_person;
Copier après la connexion
Copier après la connexion

Le résultat de sortie est :

{
    "name":"Bob",
    "age":"25",
    "gender":"Male",
    "address":{
        "country":"China",
        "state":"Sichuan",
        "city":"Chengdu"
    }
}
Copier après la connexion

Comme vous pouvez le voir , nous avons réussi à convertir les objets imbriqués en tableaux de chaînes JSON.

Dans les applications pratiques, nous devons nous assurer que les données codées au format JSON sont un codage UTF-8 standard. Sinon, des erreurs d'encodage pourraient en résulter.

Pour résumer, en PHP, nous pouvons utiliser la fonction json_encode pour convertir un objet ou un tableau en un tableau de chaînes JSON. Afin de gérer des objets complexes imbriqués, nous devons convertir de manière récursive toutes les propriétés en tableaux. Dans les applications pratiques, nous devons nous assurer que les données codées au format JSON sont un codage UTF-8 standard. En utilisant ces technologies, nous pouvons facilement convertir les données au format JSON pour la transmission et l'analyse sur le réseau.

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