php json vs sérialisation/désérialisation xml

高洛峰
Libérer: 2023-03-04 22:36:02
original
1738 Les gens l'ont consulté

La sérialisation et la désérialisation d'objets sont souvent utilisées dans le développement Web. Les plus courantes sont la sérialisation et la désérialisation du format json et du format xml. Aujourd'hui, je voulais écrire une petite démo de jsop, mais j'ai découvert que je ne pouvais pas utiliser php. sérialisation. J'ai vérifié les informations et pris une note. Sérialisation/désérialisation au format json simple

. PHP fournit les fonctions json_encode et json_decode pour sérialiser/désérialiser des objets au format json

$data=array('Name'=>'Byron','Age'=>24,'Sex'=>'Male','Friends'=>array('Cas
Copier après la connexion

php json与xml序列化/反序列化

Sérialisation/désérialisation au format XML de tableau simple

PHP fournit les fonctions wddx_serialize_value et wddx_deserialize pour sérialiser/désérialiser des objets au format XML

$data=array('Name'=>'Byron','Age'=>24,'Sex'=>'Male','Friends'=>array('Cas
Copier après la connexion

php json与xml序列化/反序列化

Bien que le format de sortie soit étrange en raison du transcodage HTML, la chaîne sérialisée ressemble en réalité à ceci

php json与xml序列化/反序列化

Par rapport au format json, il y a beaucoup plus de champs
Sérialisation/désérialisation d'objets complexes au format json Souvent, lorsque nous opérons, l'objet que nous traitons n'est pas un simple tableau, mais un objet personnalisé, json_encode et json_decode. également compétent. Personnalisez un objet avec un contenu similaire au tableau ci-dessus

class Me { public $name; public $age; public $friends; function __construct($name,$age,$friends) { 
$this->name=$name; $this->age=$age; $this->friends=$friends; } }
Copier après la connexion
$me1=new Me('Byron',24,array('Casper','Frank','Vincent')); 
$me2=new Me('Casper',25,array('Byron','Frank','Vincent')); 
$me3=new Me('Frank',26,array('Casper','Byron','Vincent')); 
//创建一个复杂的数组,子元素是自定义类,自定义类中包含数组字段 
$array_me=array($me1,$me2,$me3); $json=json_encode($array_me);
//序列化对象数组为json字符串 echo $json.&#39;<br/>&#39;; $a=json_decode($json);
//将json字符串反序列化为对象数组 foreach ($a as $aa) { echo $aa->name.&#39;<br/>&#39;; }
Copier après la connexion

php json与xml序列化/反序列化

Vous pouvez voir que le format de chaîne sérialisée est très conforme aux attentes. Sérialisation/désérialisation d'objets complexes au format XML. Les fonctions wddx_serialize_value et wddx_deserialize sont également capables d'effectuer des opérations de sérialisation/désérialisation au format XML sur des objets complexes. Utilisez l'objet tout à l'heure comme exemple

$me1=new Me(&#39;Byron&#39;,24,array(&#39;Casper&#39;,&#39;Frank&#39;,&#39;Vincent&#39;)); 
$me2=new Me(&#39;Casper&#39;,25,array(&#39;Byron&#39;,&#39;Frank&#39;,&#39;Vincent&#39;)); 
$me3=new Me(&#39;Frank&#39;,26,array(&#39;Casper&#39;,&#39;Byron&#39;,&#39;Vincent&#39;)); 
//创建一个复杂的数组,子元素是自定义类,自定义类中包含数组字段 
$array_me=array($me1,$me2,$me3); $xml=wddx_serialize_value($array_me);
//序列化对象数组为xml字符串 echo $xml.&#39;<br/>&#39;; 
$a=wddx_deserialize($xml);
//将xml字符串反序列化为对象数组 
foreach ($a as $aa) { echo $aa->name.&#39;<br/>&#39;; }
Copier après la connexion

php json与xml序列化/反序列化

.

La structure de chaîne XML générée ressemble à ceci

php json与xml序列化/反序列化

Enfin, je suis nouveau sur PHP. Il y a de nombreuses erreurs dans les articles, j'espère que tout le monde pourra les critiquer et les corriger.

Pour plus d'articles liés à la sérialisation/désérialisation php json et xml, veuillez faire attention au site Web PHP chinois !

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