ホームページ  >  記事  >  バックエンド開発  >  php jsonとxmlのシリアル化/逆シリアル化

php jsonとxmlのシリアル化/逆シリアル化

高洛峰
高洛峰オリジナル
2017-01-20 09:19:161729ブラウズ

オブジェクトのシリアル化と逆シリアル化は、Web 開発でよく使用されます。最も主流なのは、json 形式と xml 形式のシリアル化と逆シリアル化です。今日は、jsop の小さなデモを書きたかったのですが、php を使用できないことがわかりました。シリアル化の情報を確認してメモしました

PHP は、オブジェクトを json 形式でシリアル化/逆シリアル化するための json_encode 関数と json_decode 関数を提供します

$data=array('Name'=>'Byron','Age'=>24,'Sex'=>'Male','Friends'=>array('Cas

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

シンプルな配列 XML 形式のシリアル化/逆シリアル化

PHP は、オブジェクトを XML 形式でシリアル化/逆シリアル化するための wddx_serialize_value 関数と wddx_deserialize 関数を提供します

$data=array('Name'=>'Byron','Age'=>24,'Sex'=>'Male','Friends'=>array('Cas

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

HTMLトランスコードの関係で出力形式が変ですが、実際にシリアル化された文字列はこんな感じです

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

json 形式と比較すると、より多くのフィールドがあります。
複雑なオブジェクト json 形式のシリアル化/逆シリアル化 操作中に、処理するオブジェクトは単純な配列ではなく、カスタマイズされたオブジェクトの配列であることがよくあります。有能でもある。上記の配列と同様の内容を持つオブジェクトをカスタマイズします

class Me { public $name; public $age; public $friends; function __construct($name,$age,$friends) { 
$this->name=$name; $this->age=$age; $this->friends=$friends; } }
rreee

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

シリアル化された文字列形式が期待どおりであることがわかります。複雑なオブジェクトの XML 形式のシリアル化/逆シリアル化。同じ wddx_serialize_value 関数と wddx_deserialize 関数は、複雑なオブジェクトに対する XML 形式のシリアル化/逆シリアル化操作も可能です

$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;; }

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

。 生成されたXML文字列構造はこんな感じです

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

最後に、私は PHP の初心者です。記事には多くの誤りがありますので、皆さんに批判して修正していただければ幸いです。

php json および xml のシリアル化/逆シリアル化に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。