我需要从PHP数组中生成JSON,并且不会转义/
个字符(主要是un URL)。在Yii 1.x中对未转义的JSON进行编码
在纯PHP中我只能做json_encode($results, JSON_UNESCAPED_SLASHES);
(在PHP 5.4.0以上)。
有没有什么办法,我可以使用CJSON::encode();
或其他任何Yii 1.x类来达到同样效果吗?
我需要从PHP数组中生成JSON,并且不会转义/
个字符(主要是un URL)。在Yii 1.x中对未转义的JSON进行编码
在纯PHP中我只能做json_encode($results, JSON_UNESCAPED_SLASHES);
(在PHP 5.4.0以上)。
有没有什么办法,我可以使用CJSON::encode();
或其他任何Yii 1.x类来达到同样效果吗?
如果您阅读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);
}
}
}
有,为什么你不特定的原因,不想使用json_encode? – Asped 2014-09-25 12:53:01