我需要从 PHP 数组生成 JSON,不转义 /
字符(主要是 un URL)。
在纯 PHP 中,我只需 json_encode($results, JSON_UNESCAPED_SLASHES);
(在 PHP 5.4.0+ 中)。
有没有办法,我可以使用 CJSON::encode();
或任何其他 Yii 1.x 类实现相同的目的?
最佳答案
如果你读到CJSON的代码,您会看到它使用标准 php(如果可用于解码/编码功能)。不幸的是,它还没有达到 5.4 的速度,因为 Yii 1.x 需要 PHP 5.1。
我建议您通过自己扩展 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);
}
}
}
关于php - 在 Yii 1.x 中编码未转义的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26038993/