有没有什么办法来控制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