現在の位置: ホーム> 関数カテゴリ一覧> JsonSerializable::jsonSerialize

JsonSerializable::jsonSerialize

JSONにシリアル化するデータを指定します
名前:JsonSerializable::jsonSerialize
カテゴリ:JSON
対応言語:php
一言説明:Jsonserializableインターフェイスを実装するオブジェクトをシリアル化します

関数:jsonserializable :: jsonserialize()

該当するバージョン:PHP 5> = 5.4.0、PHP 7

使用法:jSonserializable :: jSonserialize()メソッドは、jSonserializableインターフェイスを実装するオブジェクトをシリアル化するために使用されます。このメソッドは、オブジェクトがJSON形式でエンコードされているときに自動的に呼び出されます。

例:

 class MyObject implements JsonSerializable { private $data; public function __construct($data) { $this->data = $data; } public function jsonSerialize() { return $this->data; } } $obj = new MyObject(array('foo' => 'bar', 'baz' => 'qux')); echo json_encode($obj);

出力:

 {"foo":"bar","baz":"qux"}

上記の例では、 MyObjectというクラスを定義し、 JsonSerializableインターフェイスを実装します。このインターフェイスには、 jsonSerialize()メソッドが1つしかなく、JSONにシリアル化する必要があるデータを返します。

jsonSerialize()メソッドでは、オブジェクトの$dataプロパティを返すだけです。

次に、 MyObjectのインスタンスを作成し、コンストラクターへの引数として連想配列を取ります。

最後に、 json_encode()関数を使用してJSON文字列としてオブジェクトをエンコードし、出力します。

結果は、 $data属性を含むJSONオブジェクトです。 {"foo":"bar","baz":"qux"}

オブジェクトがJSONとしてエンコードされている場合、 jsonSerialize()メソッドが自動的に呼び出され、シリアル化する必要があるデータを提供することに注意してください。これは、メソッドを手動で呼び出す必要がないことを意味します。

類似の関数
人気記事(にんききじ)