Heim >Backend-Entwicklung >PHP-Tutorial >PHP-JSON vs. XML-Serialisierung/Deserialisierung
Die Serialisierung und Deserialisierung von Objekten wird häufig in der Webentwicklung verwendet. Die gängigeren sind die Serialisierung und Deserialisierung des JSON-Formats und des XML-Formats. Heute wollte ich eine kleine Demo von JSOP schreiben, habe jedoch festgestellt, dass ich PHP nicht verwenden kann Serialisierung. Ich habe die Informationen überprüft und eine einfache Array-JSON-Format-Serialisierung/Deserialisierung gemacht
PHP bietet die Funktionen json_encode und json_decode zum Serialisieren/Deserialisieren von Objekten im JSON-Format
$data=array('Name'=>'Byron','Age'=>24,'Sex'=>'Male','Friends'=>array('Cas
Einfache Serialisierung/Deserialisierung im Array-XML-Format
PHP bietet die Funktionen wddx_serialize_value und wddx_deserialize zum Serialisieren/Deserialisieren von Objekten im XML-Format
$data=array('Name'=>'Byron','Age'=>24,'Sex'=>'Male','Friends'=>array('Cas
Obwohl das Ausgabeformat aufgrund der HTML-Transkodierung seltsam ist, sieht die serialisierte Zeichenfolge tatsächlich so aus:
Im Vergleich zum JSON-Format gibt es viel mehr Felder.
Komplexe Objekt-JSON-Format-Serialisierung/Deserialisierung. Wenn wir arbeiten, ist das von uns verarbeitete Objekt kein einfaches Array, sondern ein benutzerdefiniertes Objekt, json_encode und json_decode auch kompetent. Passen Sie ein Objekt mit ähnlichem Inhalt an das obige Array an
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('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/>'; }
Sie können sehen, dass das serialisierte Zeichenfolgenformat den Erwartungen sehr gut entspricht. Die Serialisierung/Deserialisierung komplexer Objekte im XML-Format ist auch für die Serialisierung/Deserialisierung komplexer Objekte 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 sieht folgendermaßen aus:
Schließlich bin ich neu in PHP. Es gibt viele Irrtümer in den Artikeln. Ich hoffe, dass jeder sie kritisieren und korrigieren kann.
Weitere Artikel zur PHP-JSON- und XML-Serialisierung/Deserialisierung finden Sie auf der chinesischen PHP-Website!