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