为什么要使用JSON?答案是可移植性和结构.
JSON是便携式的,因为解析器和写入器可用于许多语言.这意味着PHP脚本生成的JSON可以很容易地被JavaScript脚本所理解.它是传输复杂结构(如数组和对象)的最佳方法,并且仍然可以与多种语言兼容.
JSON提供结构,因为您传输的数据可以具有一致的格式.这不是传回纯文本(即未格式化的)数据,如逗号分隔或分隔的数据.
仅限于分隔的数据(例如“BookName1,BookName2,BookName3”)对于人们来说更难于理解,调试和使用.如果您想要调试服务器和浏览器之间的响应,并且数据被分隔(就像我上面的例子),你可能很难理解它.此外,如果要添加不同的数据类型,提供单独的记录等,那么您的自定义数据格式变得更加复杂.最终,您可能会重新发明JSON.
作为附注,JSON确实比XML好.它在空间上更有效率.没有标签名称占用空间.结构是通过嵌套的大括号而不是详细的标签创建的.
资源
例子
根据您的要求,以下是使用PHP编码JSON的示例.这是从docs:
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echo json_encode($arr);
输出:
{"a":1,"b":2,"c":3,"d":4,"e":5}
对比这样的东西,没有JSON:
a,1
b,2
c,3
d,4
e,5
要解析这个,你必须遍历每一行,自己拆分值,然后创建数组.这不是那么困难,但是想象你有一个嵌套的对象:
$arr = array ('a'=> array(1,2,3),'b'=> array('a' => 1, 'b' => 2),'c'=>3,'d'=> array(1,2,3,4,5) ,'e'=>5); // etc.
使用JSON,对它进行编码没有什么不同.只要使用json_encode.但是,手动编码,然后手动解码将显着更多的工作.