JsonSerializable接口php
原型:html
JsonSerializable {html5
/* 方法 */json
abstract public mixed jsonSerialize ( void )小程序
}
app
ps: 簡單說一下這個東西。很簡單,目的主要是在json序列化對象的時候彌補一下json編碼的弱點。yii
咱們都知道在類的序列化時候 一般 利用Serialize函數,由於它可以保存更多的信息,固然是你須要他保存不少信息的前提下。可是json編碼在這方面欠缺不少。他只能保存類的公共屬性。那麼 這個時候咱們就須要一個東西來彌補一下欠缺。函數
如何來作。請看實例:this
<?php class test implements JsonSerializable { private $b; public function __construct($b) { $this->b=$b; } public function jsonSerialize() { return 'b:'.$this->b; } } $test=new test(1); echo json_encode($test).PHP_EOL;
看看結果:編碼
localhost:test yehua$ php serialize.php "b:1"
總結一下
目前不少前段,app、html五、小程序客戶端須要的json字符串,可能大大小小存在不一樣點,若是採用統一的json編碼格式傳遞數據。會顯得很呆板,經過該函數來自定義內容,適當增長了一部分的靈活性