Maison  >  Article  >  développement back-end  >  Sérialisation/désérialisation PHP json et XML

Sérialisation/désérialisation PHP json et XML

coldplay.xixi
coldplay.xixiavant
2020-07-20 17:39:012247parcourir

Sérialisation/désérialisation PHP json et XML

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 au format json et xml. Aujourd'hui, je veux écrire une petite démo jsop, il s'avère. que je ne sais pas comment utiliser la sérialisation php. J'ai vérifié les informations et pris une note. La sérialisation/désérialisation au format json de tableau simple

php fournit les fonctions json_encode et json_decode pour effectuer le traitement des objets. opération de sérialisation/désérialisation du format

$data=array('Name'=>'Byron','Age'=>24,'Sex'=>'Male','Friends'=>array('Casper','Frank','Vincent')); 
$json=json_encode($data);//将数组序列化为json字符串 echo $json.&#39;<br/>&#39;; 
$array_json= json_decode($json);//将json字符串反序列化为数组 while(list($key,$value)=each($array_json)){ if(!is_array($value)){ echo "$key: $value<br/>"; }else{ echo "$key: "; 
foreach ($value as $current) { echo "$current &emsp;"; } echo &#39;<br/>&#39;; } }

Sérialisation/désérialisation PHP json et XML

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

php fournit wddx_serialize_value et wddx_deserialize La fonction effectue la sérialisation/désérialisation au format XML opérations de désérialisation sur les objets

$data=array(&#39;Name&#39;=>&#39;Byron&#39;,&#39;Age&#39;=>24,&#39;Sex&#39;=>&#39;Male&#39;,&#39;Friends&#39;=>array(&#39;Casper&#39;,&#39;Frank&#39;,&#39;Vincent&#39;)); 
$xml=wddx_serialize_value($data);//把数组序列化为xml字符串 echo $xml.&#39;<br/>&#39;; 
$array_xml=wddx_deserialize($xml);//把xml字符串反序列化为数组 while(list($key,$value)=each($array_xml)){ if(!is_array($value)){ echo "$key: $value<br/>"; }else{ echo "$key: "; 
foreach ($value as $current) { echo "$current &emsp;"; } echo &#39;<br/>&#39;; } }

Sérialisation/désérialisation PHP json et XML

Bien que le format de sortie soit étrange en raison du transcodage HTML, la chaîne sérialisée est en fait comme ceci

Sérialisation/désérialisation PHP json et 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 traité n'est pas un simple tableau, mais un tableau de nos objets personnalisés. 🎜> et json_encode en sont également capables. Personnalisez un objet avec un contenu similaire au tableau ci-dessus json_decode

class Me { public $name; public $age; public $friends; function __construct($name,$age,$friends) { $this->name=$name; 
$this->age=$age; $this->friends=$friends; } }
$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); 
$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;; }

Sérialisation/désérialisation PHP json et XML

Vous pouvez voir que le format de chaîne sérialisée est très conforme aux attentes. Sérialisation/désérialisation au format XML d'objets complexes. 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;; }

Sérialisation/désérialisation PHP json et XML La structure de chaîne XML générée est comme ceci

Enfin, je suis un débutant en PHP. Il y a de nombreuses erreurs dans l'article, j'espère que tout le monde me critiquera et me corrigera. Sérialisation/désérialisation PHP json et XML

Recommandations d'apprentissage associées :
Programmation PHP de l'entrée à la maîtrise

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer