为什么在使用json时使用CJSON编码?
我正在为使用Yii的网站构建一个API。 我知道有一个名为CJson的实用程序类,并且有一个名为encode的函数。
据我所知,可以在本地json_encode函数中定制其他参数,如JSON_NUMERIC_CHECK,这非常有用。 它创建
{
"id": 17
}
而不是Yii的CJSON编码,它使'17'成为一个字符串。
{
"id": "17"
}
所以我的问题是,是否有任何理由我应该使用CJSON编码,而不是内置的PHP函数json_encode?
只有我能想到最低的PHP版本支持。
Yii支持php 5.1作为最低版本请参阅Yii安装页面。 而在php 5.2中引入json_encode / json_decode。 所以这可能是Yii为CJson提供图书馆的原因。
这个问题很古老。 我正在使用Yii 1.4,PHP 5.4。
我发现的差异是'json_encode'只对类属性进行编码,而'CJSON :: encode'只对使用@property注释的类文档中列出的属性进行编码...至少对于CActiveRecord
我意识到这是一个古老的话题,但想要增加另一个原因。
通过像CJSON这样的辅助类来完成所有的JSON编码,你可以覆盖默认行为。 例如,您可以使用它来添加令牌以防止发生JSON劫持。
链接地址: http://www.djcxy.com/p/8377.html上一篇: Why use CJSON encode when we have json
下一篇: Why is there a for(;;); preamble in facebooks JSON responses?