深度剖析JSON功能种种问题进行学习探讨
创始人
2024-06-20 01:10:59
0

我们基本的解决方案就是在服务器端转化前对中文进行转码,比如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. 无法识别中文,所有的中文字符串显示为空

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...