【发布时间】:2010-04-13 23:56:18
【问题描述】:
长话短说,客户端的主机使用 php 5.2.5,我迫切需要使用 5.3 附带的带有 json_encode() 的 JSON_FORCE_OBJECT 选项。有没有人知道为此目的的一些等价物?请指出来。
【问题讨论】:
-
@cletus 要是我们都能控制每一个托管环境就好了
-
...我还在 4.2 /cry
长话短说,客户端的主机使用 php 5.2.5,我迫切需要使用 5.3 附带的带有 json_encode() 的 JSON_FORCE_OBJECT 选项。有没有人知道为此目的的一些等价物?请指出来。
【问题讨论】:
在 5.2.5 上,我在编码之前将对象转换为对象:
$array = array(1,2,3);
echo json_encode($array);
// [0,1,2]
echo json_encode((object)$array);
// {"0":1,"1":2,"2":3}
使用 PHP 5.3 会产生相同的输出:
echo json_encode($array);
// [0,1,2]
echo json_encode($array, JSON_FORCE_OBJECT);
// {"0":1,"1":2,"2":3}
您也可以从另一个线程尝试this solution。不确定您的确切用例是什么。
【讨论】:
您可以使用 PHP pear 包在旧版本的 PHP 上支持 json_encode。它似乎支持编码对象。
【讨论】: