将PHP对象序列化为JSON
因此,当我偶然发现新的JsonSerializable Interface时,我在php.net上四处徘徊,以获取有关将PHP对象序列化为JSON的信息。它只是PHP> = 5.4,而我正在5.3.x环境中运行。 PHP <5.4如何实现这种功能? 我还没有使用JSON进行很多工作,但是我正在尝试在应用程序中支持API层,并且将数据对象(否则将发送到视图)转储到JSON中将是完美的。 如果我尝试直接序列化该对象,它将返回一个空的JSON字符串;这是因为我假设json_encode()不知道该对象要做什么。应予递归降低对象到一个数组,然后编码该? 例 $data = new Mf_Data(); $data->foo->bar['hello'] = 'world'; echo json_encode($data) 产生一个空对象: {} var_dump($data) 但是,按预期方式工作: object(Mf_Data)#1 (5) { ["_values":"Mf_Data":private]=> array(0) { } ["_children":"Mf_Data":private]=> array(1) { [0]=> array(1) { ["foo"]=> object(Mf_Data)#2 (5) { ["_values":"Mf_Data":private]=> array(0) { } ["_children":"Mf_Data":private]=> array(1) { [0]=> array(1) { ["bar"]=> …