有沒有什麼辦法來控制json_encode
對象的行爲?就像排除空數組,空字段等一樣?如何控制json_encode行爲?
我意味着什麼用serialize()
時,在那裏你可以實現神奇的__sleep()
方法,並指定哪些屬性應該被序列化,如:
class MyClass
{
public $yes = "I should be encoded/serialized!";
public $empty = array(); // // Do not encode me!
public $null = null; // Do not encode me!
public function __sleep() { return array('yes'); }
}
$obj = new MyClass();
var_dump(json_encode($obj));
是的,我知道,但感謝的答案。問題是當B擴展A時,B不能修改'$ privateVars'並使其成爲'private'。 – gremo 2012-01-13 20:12:04
會使它保護工作?爲什麼B將privateVars私有化,它已經是私有的了。 – Jarvix 2012-01-19 15:32:30