我需要从PHP数组中生成JSON,并输出/
个字符(大部分是非URL)。
在纯PHP中我只能json_encode($results, JSON_UNESCAPED_SLASHES);
(在PHP 5.4.0 +中)。
有什么办法,我可以使用CJSON::encode();
或任何其他Yii 1.x类来实现相同的目标吗?
答案 0 :(得分:2)
如果您阅读CJSON的代码,您会看到它使用标准的php(如果可用于解码/编码功能)。不幸的是,由于Yii 1.x需要PHP 5.1,所以还没有达到5.4的速度。
我建议您通过自己扩展CJON来添加额外的功能,如下所示:
class MyJSON extends CJSON {
public static function encode($var, $options = null, $depth = null)
{
if (function_exists('json_encode') && version_compare(PHP_VERSION, '5.5.0') >= 0) {
return json_encode($var, $options, $depth);
} elseif (function_exists('json_encode') && version_compare(PHP_VERSION, '5.3.0') >= 0) {
return json_encode($var, $options);
} else {
return parent::encode($var);
}
}
}