为什么需要在php和AJAX中使用JSON

我上周刚开始做jQuery,到目前为止我已经用ajax创建了一些基本系统,比如基本的jQuery CRUD和简单的聊天系统而没有参考其他人的工作,我决定测试自己在jQuery中可以单独做系统的程度(没有JSON和XML)。

但是当我决定查看其他人的工作时(希望能够获得/学习良好实践和代码)很多或几乎每个处理ajax的程序都有一些JSON。 所以我决定专门研究和阅读JSON 这个 ,但我想因为这是我第一次处理它,我有一个问题沉入我的大脑。 是的,我知道它是一种“轻量级描述分层数据的方式”,我也知道如何使JSON像在JS中混合文字数组和对象,以及如何在js中显示它。

但我的问题是,有什么不同,有什么优势而不是使用它? 当我仍然可以使用没有JSON的ajax和数据库在服务器上获取和存储数据。 顺便说一下,我还没有专注于XML,因为根据我的研究,最好在AJAX中使用JSON。

你能给我一些处理的实际场景吗?

S1。 ajax php mysql( 这有哪些缺点?

S2。 ajax php mysql json( 这有什么优势?

我的意思是,我的重点是发送和获取数据,我已经可以用s1来做。

对不起,如果你发现我的问题很愚蠢。 蒂亚。 🙂

为什么要使用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 。 但是,手动编码,然后手动解码将是更多的工作。

使用任何编程语言进行编程,您可以使用几种不同类型的数据,包括非常有用的array类型。
在Javascript和任何服务器端语言之间交换数据只能通过字符串进行。 即你可以发送和返回任何文本 ,但没有办法发送本机数组或数字类型。

JSON是一种使用字符串表达数组和其他类型的优雅方式。 这样,您可以在不同环境之间来回传递任意数据,并且不限于纯文本。 XML解决了同样的问题,但对于简单的AJAX请求来说往往有些过分。