Есть ли способ контролировать поведение 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));