Мне нужно сгенерировать JSON из PHP-массива, без выхода /
символы (в основном без 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);
}
}
}
Других решений пока нет …