Maison  >  Article  >  développement back-end  >  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
PHPzoriginal
2023-04-20 10:11:41990parcourir

En programmation php, nous avons souvent besoin de convertir des objets en tableaux de chaînes json. Cette opération est très courante dans le développement Web et peut être utilisée pour transmettre des données au client ou au serveur, ainsi que pour partager des données entre différentes applications. Dans cet article, nous expliquerons comment convertir un objet en un tableau de chaînes json en utilisant php.

Tout d'abord, qu'est-ce que json ?

JSON signifie JavaScript Object Notation. Il s'agit d'un format d'échange de données léger. JSON est basé sur la syntaxe JavaScript, mais ne dépend pas de JavaScript, il peut donc être facilement utilisé dans divers langages de programmation. JSON utilise des paires clé/valeur pour représenter les données et sa structure de données est similaire à un dictionnaire en Python. JSON représente les données sous forme d'objet (Object) ou de tableau (Array). Un objet JSON est une collection de paires clé/valeur, où la clé est une chaîne et la valeur peut être une chaîne, un nombre, une valeur booléenne, un tableau, un objet, etc. Un tableau JSON est une collection ordonnée dans laquelle chaque élément peut être une valeur de n'importe quel type (y compris des objets et des tableaux).

Deuxièmement, la fonction json_encode en php

La fonction json_encode en php est utilisée pour convertir les variables php en chaînes au format JSON. Sa syntaxe est la suivante :

json_encode($value, $options = 0, $profondeur = 512)

$value : Les variables à convertir au format json peuvent être n'importe quel type de données, y compris des tableaux, des objets, des types booléens, des entiers. , nombre à virgule flottante, null, etc.

$options : paramètres facultatifs, utilisés pour déterminer le comportement de la conversion. Les options courantes incluent JSON_PRETTY_PRINT (sortie formatée), JSON_UNESCAPED_SLASHES (sans échappement de barres obliques inverses), etc. Pour une liste complète, veuillez vous référer à la documentation PHP officielle.

$degree : Paramètre facultatif, utilisé pour contrôler la profondeur de la conversion. Les données au-delà de cette profondeur seront converties en null. La profondeur par défaut est 512.

La fonction json_encode convertit les variables en chaînes au format json qui peuvent être transmises sur le réseau ou stockées dans des fichiers.

Troisièmement, convertir un objet en tableau de chaînes json

En php, la conversion d'un objet en tableau de chaînes json est très simple. Il suffit de convertir l'objet en tableau associatif, puis d'utiliser la fonction json_encode pour convertir le tableau en chaîne json.

Voici un exemple simple qui montre comment convertir un objet en php en un tableau de chaînes json :

// Définir une classe Person
class Person
{

public $name;
public $age;
public $city;

public function __construct($name, $age, $city) 
{
    $this->name = $name;
    $this->age = $age;
    $this->city = $city;
}</p>
<p>}</p>
<p>// Exemple de transformation la classe Person<br>$person = new Person('Tom', 28, 'Shanghai');</p>
<p>//Convertir l'objet en tableau associatif<br>$arr = [</p>
<pre class="brush:php;toolbar:false">'name' => $person->name,
'age' => $person->age,
'city' => $person->city,

];

//Convertir le tableau en json String
$json = json_encode($arr);

// Print json string
echo $json;
?>

Le résultat de sortie du code ci-dessus est :

{"name": "Tom", "age ":28,"city":"Shanghai"}

Dans l'exemple ci-dessus, nous définissons d'abord une classe Person et instancions un objet. Nous convertissons ensuite l'objet en tableau associatif et utilisons la fonction json_encode pour convertir le tableau en chaîne json. Enfin, nous avons imprimé la chaîne json à l'écran.

Quatrièmement, convertir les objets imbriqués en tableaux de chaînes json

Si vous souhaitez convertir des objets imbriqués en tableaux de chaînes json, vous devez parcourir de manière récursive l'intégralité de l'arborescence d'objets et convertir chaque sous-objet en un tableau associatif. Voici un exemple qui montre comment convertir un objet imbriqué en un tableau de chaînes json :

// Définir une classe Person
class Person
{

public $name;
public $age;
public $city;

public function __construct($name, $age, $city) 
{
    $this->name = $name;
    $this->age = $age;
    $this->city = $city;
}</p>
<p>}</p>
<p>// Définir une classe Order <br>class Order<br>{</p>
<pre class="brush:php;toolbar:false">public $id;
public $customer;

public function __construct($id, $customer) 
{
    $this->id = $id;
    $this->customer = $customer;
}

}

// Instancier les classes Person et Order
$person = new Person('Tom', 28, 'Shanghai');
$order = new Order(1001, $person);

// Convertir un objet imbriqué en tableau de chaînes json
$arr = [

'id' => $order->id,
'customer' => [
    'name' => $order->customer->name,
    'age' => $order->customer->age,
    'city' => $order->customer->city,
],

];

// Convertir un tableau en chaîne json
$json = json_encode($arr);

// Imprimer la chaîne de caractères json
echo $json ;
?>

Le résultat de sortie du code ci-dessus est :

{"id":1001,"customer":{"name":"Tom","age":28,"city": "Shanghai "}}

Dans l'exemple ci-dessus, nous avons défini deux classes, Person et Order, et instancié un objet Order. Nous convertissons ensuite l'objet imbriqué en un tableau associatif et utilisons la fonction json_encode pour convertir le tableau en chaîne json. Enfin, nous avons imprimé la chaîne json à l'écran.

Cinq, résumé

La conversion d'objets en php en tableau de chaînes json est une compétence très pratique, qui peut transmettre efficacement des données au client ou au serveur et partager des données entre différentes applications. En php, nous pouvons utiliser la fonction json_encode pour convertir un objet en un tableau de chaînes json. Si vous souhaitez convertir un objet imbriqué en un tableau de chaînes json, vous devez parcourir de manière récursive l'intégralité de l'arborescence des objets et convertir chaque sous-objet en un tableau associatif. J'espère que cet article sera utile à tout le monde.

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