Position actuelle: Accueil> Catégories de fonctions> JsonSerializable::jsonSerialize

JsonSerializable::jsonSerialize

Spécifiez les données à sérialiser en JSON
Nom:JsonSerializable::jsonSerialize
Catégorie:Json
Langage de programmation:php
Description en une ligne:Sérialiser un objet qui implémente l'interface jsonSerialisable

Fonction: jsonSerializable :: jSonSerialize ()

Version applicable: PHP 5> = 5.4.0, php 7

Utilisation: la méthode jsonSerializable :: jsonSerialize () est utilisée pour sérialiser un objet qui implémente l'interface jsonSerializable. Cette méthode est automatiquement appelée lorsque l'objet est codé au format JSON.

Exemple:

 class MyObject implements JsonSerializable { private $data; public function __construct($data) { $this->data = $data; } public function jsonSerialize() { return $this->data; } } $obj = new MyObject(array('foo' => 'bar', 'baz' => 'qux')); echo json_encode($obj);

Sortir:

 {"foo":"bar","baz":"qux"}

Dans l'exemple ci-dessus, nous définissons une classe appelée MyObject et implémentons l'interface JsonSerializable . Cette interface n'a qu'une seule méthode jsonSerialize() , qui renvoie des données qui doivent être sérialisées en JSON.

Dans jsonSerialize() , nous renvoyons simplement $data de l'objet.

Nous créons ensuite une instance de MyObject et prenons un tableau associatif comme argument au constructeur.

Enfin, nous encodons l'objet en tant que chaîne JSON à l'aide json_encode() et la sortie.

Le résultat est un objet JSON contenant l'attribut $data : {"foo":"bar","baz":"qux"} .

Notez que lorsque l'objet est codé en JSON, jsonSerialize() est automatiquement appelée pour fournir les données qui doivent être sérialisées. Cela signifie que vous n'avez pas besoin d'appeler la méthode manuellement.

Fonctions similaires
Articles populaires