[心]得关于JSON中文问题

忽然感觉很久没上博了,今日上来一看居然将近一个月没写新文章了,再不“生产”两篇,感觉也太对不起自己的博了。最近正好项目里有用到一些JSON的部分,于是今天就写一点使用心得来与大家分享一下吧。

说道JSON还真是一个好东西,一个字,就是“快”。前一段我把一个原先提供返回XML的服务改成JSON以后,速度竟然提高了将近3倍,特别是与前端Ajax客户端集成使用,真可谓之“天作之合”。但是JSON对中文的支持一直以来为人们所诟病,网上关于这方面的问题也是一抓一大把,但是不要误解,实际上这个问题并没有想象的那么麻烦,以下石头会通过一个实例来说明一下这个问题。

[@more@]

废话少说,代码先行:

客户端。php :


<头>
JSON -测试



<身体>
被原型聊天

被自我聊天


服务器。php:

<?php
include_once (JSON.php);

//创建一个新的实例Services_JSON
json美元=new Services_JSON ();

//complexe值转换为json的符号,并将其发送到浏览器https://www.yisu.com/zixun/array
$价值=(“名字”=>“石头”,“desc”=> iconv (gb2312,“utf - 8”,“哈哈”),“附加”=>数组(1、2、“巴兹”)),
输出=json ->编码美元(美元值);

如果(收取($ _REQUEST [' ret '])) {
//标题(“内容类型:文本/x-json;charset=utf - 8 ');
echo $输出;
//打印:[“foo”、“酒吧”,[1,2,“记者”],[3,[4]]]
其他}{
头(“X-JSON:(输出美元。)');
}

//接受传入的POST数据,认为是在JSON符号
$输入=file_get_contents (php://输入,1000000);
value=https://www.yisu.com/zixun/JSON ->美元解码(输入)美元;
?>

第一种方法我们把分析JSON返回信息的任务也全权交由“万能”的原型来做,但是原型是通过自己定义的HTTP头信息里的X-JSON头来传递信息,而据我所知IE里的HTTP头长度默认是有限制的,所以我还是推荐大家用第二种方法:用parseJSON方法来自助处理JSON的数据,既简单又有效…分析好后就可以用了解析出来的JavaScript对象来做你想要做的排列咯…说到中文问题,实际上也很简单,只需要把要传递的数据做一下utf - 8转换即可,我这里用php做例子所以用iconv函数就可以了,Java的话,更不用说了,编码转换就是他的强项呢。

好吧…写完收工,下班回家,又是一个周末,快乐时光:)

[心]得关于JSON中文问题