深度剖析JSON功能种种问题进行学习探讨

我们基本的解决方案就是在服务器端转化前对中文进行转码,比如JSON功能或者进行进制转换,然后客户端进行相应的转换,我们还是需要寻找更快速的方式,或者最好是PHP的JSON扩展能够直接支持中文,那就最好了。

今天我就小试了一下PHP 5.2 内置了JSON功能,JSON主要是用于Ajax里面的远程访问时候的数据交换格式,可以说是用来在Ajax中取代XML格式的一个轻量级数据交换格式,潜力不容小瞧,因为Google Maps就是抛弃XML而使用JSON的典型例子。#t#

想了解JSON,可以查看这里查看更多文章,同时想了解关于格式定义可以参考JSON官方网站,关于更多JSON的资料请Google。

 
 
  1.  
  2. //对象  
  3. class JsonTest{  
  4.  var $id = 1;  
  5.  var $name = 'heiyeluren';  
  6.  var $gender = '男';  
  7. }  
  8. $obj = new JsonTest;  
  9. echo json_encode($obj)." /> ";  
  10.  
  11. //数字索引数组  
  12. $arr1 = array(1, 'heiyeluren', '男');  
  13. echo json_encode($arr1)." /> ";  
  14.  
  15. //关联索引数组  
  16. $arr2 = array("id"=>1, "name"=>'heiyeluren', "gender"=>'男');  
  17. echo json_encode($arr2)." /> ";  
  18.  
  19. //多维数字索引数组  
  20. $arr3 = array(array(1, 'heiyeluren', '男'), array(1, 'heiyeluren', '男'));  
  21. echo json_encode($arr3)." /> ";  
  22.  
  23. //关联索引数组  
  24. $arr4 = array(array("id"=>1, "name"=>'heiyeluren', "gender"=>'男'), array("id"=>1, "name"=>'heiyeluren', "gender"=>'男'));  
  25. echo json_encode($arr4)." /> ";  
  26. ?> 
  27.  
  28.  
  29.  
  30. 浏览器输出:  
  31.  
  32.  
  33. {"id":1,"name":"heiyeluren","gender":""}  
  34. [1,"heiyeluren",""]  
  35. {"id":1,"name":"heiyeluren","gender":""}  
  36. [[1,"heiyeluren",""],[1,"heiyeluren",""]]  
  37. [{"id":1,"name":"heiyeluren","gender":""},{"id":1,"name":"heiyeluren","gender":""}]  

按照JSON功能定义,我们可以发现上面的几个特点:

1. 纯的数字索引是按照JavaScript能够识别的数组来存储的
2. 关联索引数组是按照JavaScript对象的形式来构造的
3. 多维关联索引是按照外围是JavaScript数组,中间的索引数组是对象
4. 无法识别中文,所有的中文字符串显示为空

网站栏目:深度剖析JSON功能种种问题进行学习探讨
本文路径:http://www.shufengxianlan.com/qtweb/news25/477875.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联