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

开发 前端
比JSON功能更好,确实很值得升级,而且PHP是向下兼容的,同时还Fixed了200多个bug,并且增加了JSON、Filter、Zip、Date等功能。具体可以查看Ben写的文章。

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

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

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

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

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

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

责任编辑:chenqingxiang 来源: 计世网
相关推荐

2010-01-06 10:42:18

JSON协议

2010-01-11 10:19:57

C++开发工具

2010-01-06 18:33:56

JSON与XML

2010-01-07 13:11:09

设置JSON

2010-01-08 14:06:49

JSON 形式

2021-02-03 13:56:09

KerasAPI深度学习

2010-02-02 15:25:35

Python语法

2010-01-08 15:37:59

JSON数据

2010-02-01 13:34:59

Python 脚本

2018-01-04 13:21:10

深度学习人工智能数据

2010-02-24 16:33:28

Python功能

2010-03-01 15:08:36

2010-01-07 09:44:30

学习JavaScrip

2010-02-06 15:32:30

Android架构

2010-02-23 10:05:52

Python历史

2010-02-05 18:00:18

Android源代码

2010-02-24 14:04:32

Python脚本语言

2009-12-03 10:15:41

Visual Stud

2010-01-05 14:37:39

JSON POST

2010-01-06 16:41:40

解析JSON
点赞
收藏

51CTO技术栈公众号