为什么在使用json_encode时使用CJSON编码

aja*_*ybc 30 php json yii

我正在使用Yii为网站构建API.我知道有一个名为CJson的实用程序类,它有一个名为encode的函数.

据我所知,还有其他参数可以在原生json_encode函数中自定义,如JSON_NUMERIC_CHECK,这非常有用.它创建

{
    "id": 17
}
Run Code Online (Sandbox Code Playgroud)

而不是Yii的CJSON编码,它使'17'成为一个字符串.

{
    "id": "17"
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是我是否应该使用CJSON编码而不是内置的PHP函数json_encode?

kul*_*boj 12

只有我能想到的最低PHP版本支持.

Yii支持php 5.1作为最低版本参见Yii安装页面.而json_encode/json_decode在php 5.2中引入.所以这可能是Yii拥有CJson库的原因.