小编典典
为什么要使用JSON?答案是 可移植性 和 结构 。
JSON是 可移植的,
因为解析器和编写器可用于多种语言。这意味着JavaScript脚本可以很容易地理解PHP脚本生成的JSON。这是传输复杂结构(如数组和对象)并使其仍与多种语言兼容的最佳方法。
JSON提供了 结构, 因为与它一起传输的数据可以具有一致的格式。这不是传输回纯文本(即,未格式化的)数据(例如,逗号分隔或定界的数据)。
对于人类来说,仅是定界的数据(例如“
BookName1,BookName2,BookName3”)更加难以理解,调试和使用。如果您想调试服务器和浏览器之间的响应并且数据已被分隔(如上面的示例),那么您可能很难理解它。另外,如果要添加不同的数据类型,提供单独的记录等,那么自定义数据格式将变得更加复杂。最终,您可能最终重新发明了JSON。
附带说明一下,JSON确实比XML更好。它在空间上效率更高。没有标签名称占用空间。通过嵌套的大括号而不是冗长的标签创建结构。
资源资源
这是一篇关于XML和JSON的区别和优点/缺点的有趣文章:http :
//www.json.org/xml.html
例子
根据您的请求,以下是使用PHP编码JSON的示例。这是从文档中剥离出来的:
$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。但是,手动对此进行编码,然后对其进行手动解码将需要更多工作。
2020-07-26