Maison > développement back-end > tutoriel php > Convertir un objet en chaîne JSON

Convertir un objet en chaîne JSON

不言
Libérer: 2023-04-02 19:26:02
original
6942 Les gens l'ont consulté

Cet article présente principalement la conversion d'objets en chaînes JSON, qui a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

Définir une classe d'étudiant :

1

2

3

4

5

6

7

8

1 class Student {

2     public $name;

3     public $age;

4     function __construct($name, $age) {

5         $this->name = $name;

6         $this->age = $age;

7     }

8 }

Copier après la connexion

A ce moment, créez un nouvel objet et faites écho directement : 1 $person1 = new Student('jack', 20); 2 echo $person1;

Le résultat n'est pas comme nous nous y attendions L'objet a été imprimé comme ça mais une erreur fatale a été signalée :

signifie que l'objet instancié par la classe Student ne peut pas être converti en chaîne. peut obtenir un message : : echo doit être suivi d'une chaîne,

sinon il sera automatiquement converti en chaîne Alors comment convertir un objet en chaîne ?

Introduisez d'abord une méthode magique : __tostring() Cette méthode est utilisée pour déterminer comment une classe doit répondre lorsqu'elle est traitée comme une chaîne. Par exemple, echo $obj;

devrait afficher quoi. Cette méthode doit renvoyer une chaîne, sinon une erreur fatale de niveau E_RECOVERABLE_ERROR sera émise.

Ajoutez cette méthode magique à la classe Student :

1

2

3

4

5

6

7

8

9

10

11

1 class Student {

2      public $name;

3      public $age;

4      function __construct($name, $age) {

5           $this->name = $name;

6           $this->age = $age;

7      }

8      function __tostring() {

9           return json_encode($this, JSON_FORCE_OBJECT);

10      }

11 }

Copier après la connexion

La méthode json_encode(value, options) peut convertir un objet en chaîne JSON , cette méthode accepte deux paramètres,

Le premier paramètre : valeur
La valeur à encoder, à l'exception du type de ressource, peut être n'importe quel type de données
Cette fonction ne peut accepter que les données codées en UTF-8

Deuxième paramètre : options
Masque binaire composé des constantes suivantes : JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJ ECT, .

Valeur de retour : renvoie une chaîne représentée sous forme JSON si l'encodage est réussi ou renvoie FALSE en cas d'échec.

remarque : Par rapport à la méthode json_encode, il existe la méthode json_decode. Cette méthode peut convertir une chaîne au format JSON en variable PHP. Cette méthode accepte deux paramètres

. Le premier paramètre : chaîne json

Le deuxième paramètre : vrai/faux, quand vrai, cela signifie convertir la chaîne en tableau, lorsqu'il est faux, cela signifie conversion est un objet, la valeur par défaut est false

Valeur de retour : objet ou tableau (lorsque le deuxième paramètre est vrai)

Vous pouvez l'ouvrir dans le navigateur à ce moment-là, vérifiez que la conversion est réussie :

Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'apprentissage de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Comment compiler et installer le service php redis

Base de données et création de tables de code source php - fichier de configuration - erreur méthode log

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!

Étiquettes associées:
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