Как контролировать поведение json_encode?

Есть ли способ контролировать поведение json_encode на объектах? Например, исключение пустых массивов, нулевых полей и т. Д.?

Я имею в виду что-то вроде использования serialize () , где вы можете реализовать метод magic __ 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));
9
задан PeeHaa 30 July 2012 в 05:11
поделиться