标签归档:json

json_deocde 处理中文返回null

json_deocde默认处理的字符串必须是utf8的,所以当字符串被编码成gbk的时候,json_decode 将无法解析,因此就会返回null.

处理办法很简单,直接调用php内置函数$sign_info = iconv('GB2312', 'UTF-8', $sign_info);

就可以将$sign_info从gbk编码转换成utf8,接着调用json_decode($sign_info);就可以得到json对象了,就可以遍历了

ecshop 中的json

ecshop中有2个地方使用了json,一个是cls_json.php文件,一个是transport.js文件。

cls_json 封装了json类,可以调用里面的encode的方法,根据参数不同,进行不同的转化,调用json_encode可以直接进行转化。是php对json的处理。

transport.js是ecshop封装的ajax方法,通过ajax.call 来实现ajax的调用。ajax传值的过程中,可以选择json来传递,一般也是选择它的,因为这样调用起来方便,转化也方便。所以它对json数据进行了自己的解析和转化。

熟悉和消化了这两个文件,对ecshop中数据的传递基本就没什么问题了。你就可以自己写ajax处理文件,通过ajax.call来访问请求处理数据了。