Heim >Backend-Entwicklung >PHP-Tutorial >PHP-JSON- und XML-Serialisierung/Deserialisierung
Objektserialisierung und -deserialisierung werden häufig in der Webentwicklung verwendet. Die gängigeren sind die Serialisierung und Deserialisierung im JSON-Format und heute möchte ich eine kleine Demo von jsop schreiben dass ich nicht weiß, wie man die PHP-Serialisierung verwendet, und eine Notiz zur Serialisierung/Deserialisierung im Array-JSON gemacht habe Format-Serialisierungs-/Deserialisierungsvorgang
$data=array('Name'=>'Byron','Age'=>24,'Sex'=>'Male','Friends'=>array('Casper','Frank','Vincent')); $json=json_encode($data);//将数组序列化为json字符串 echo $json.'<br/>'; $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  "; } echo '<br/>'; } }
json_encode
json_decode
PHP bietet
undDie Funktion führt eine XML-Format-Serialisierung/ Deserialisierungsoperationen für Objekte
$data=array('Name'=>'Byron','Age'=>24,'Sex'=>'Male','Friends'=>array('Casper','Frank','Vincent')); $xml=wddx_serialize_value($data);//把数组序列化为xml字符串 echo $xml.'<br/>'; $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  "; } echo '<br/>'; } }
wddx_serialize_value
wddx_deserialize
Im Vergleich zum JSON-Format gibt es viel mehr Felder
Komplexe Objekt-Serialisierung/Deserialisierung. Wenn wir arbeiten, ist das verarbeitete Objekt kein einfaches Array, sondern ein Array unserer benutzerdefinierten Objekte und
sind ebenfalls fähig. Passen Sie ein Objekt mit ähnlichem Inhalt an das obige Array anclass Me { public $name; public $age; public $friends; function __construct($name,$age,$friends) { $this->name=$name; $this->age=$age; $this->friends=$friends; } }
$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.'<br/>'; $a=json_decode($json);//将json字符串反序列化为对象数组 foreach ($a as $aa) { echo $aa->name.'<br/>'; }
json_encode
json_decode
Sie können sehen, dass das serialisierte Zeichenfolgenformat sehr gut den Erwartungen entspricht. Die Funktionen wddx_serialize_value und wddx_deserialize sind auch für die Serialisierung/Deserialisierung komplexer Objekte im XML-Format geeignet.$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); $xml=wddx_serialize_value($array_me);//序列化对象数组为xml字符串 echo $xml.'<br/>'; $a=wddx_deserialize($xml);//将xml字符串反序列化为对象数组 foreach ($a as $aa) { echo $aa->name.'<br/>'; }
>Die generierte XML-String-Struktur ist so
Schließlich bin ich ein Anfänger in PHP. Ich hoffe, dass jeder mich kritisiert und korrigiert.Verwandte Lernempfehlungen: PHP-Programmierung vom Einstieg bis zur Beherrschung
Das obige ist der detaillierte Inhalt vonPHP-JSON- und XML-Serialisierung/Deserialisierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!