Why use CJSON encode when we have json
I am building an API for a website using Yii. I know that there is a utility class called CJson and has a function called encode.
As far as I know there are additional parameters that can be customized in the native json_encode function like the JSON_NUMERIC_CHECK which is really useful. It creates
{
"id": 17
}
instead of Yii's CJSON encode which makes the '17' a string.
{
"id": "17"
}
So my question is whether there is any reason I should use CJSON encode instead of the built in PHP function json_encode ?
Only thing I can think minimum php version support.
Yii support php 5.1 as minimum version See Yii Installation Page . While json_encode/json_decode introduced in php 5.2. So It can be a reason for Yii having a library for CJson.
This question is old. I am working with Yii 1.4, PHP 5.4.
The difference i found was 'json_encode' encodes only class properties, while as 'CJSON::encode' encodes only properties listed at the class documentation using @property annotation... This is true at least for CActiveRecord
I realise this is an old topic, but wanted to add another reason.
By doing all JSON encoding through a helper class like CJSON you can override default behavior. For example you can use it to add a token to prevent JSON hijacking.
链接地址: http://www.djcxy.com/p/8378.html