您的当前位置:首页JSON简介

JSON简介

2022-05-04 来源:乌哈旅游
JSON简介

本次培训,就本人在使用JSON结合Ajax、Servlet等实现复杂页面功能的实现!!请大家提前了解JSON相关知识。

JSON(JavaScript Object Notation),是一种轻量级的基于文本且独立于语言的数据交换格式。它源于ECMAScript程序语言标准-第3版(ECMA-262 3rd Edition - December 1999)的子集,定义了便于表示结构化数据的一套格式规范。JSON是遵循程序员所熟悉的C族编程语言(包括:C、C++、JAVA、JavaScript、Perl、C#等多种语言)规范的数据交换格式,不但易于被人读写,同时也易于被计算机解析和构造,这些特性使之成为了一种理想的数据交换语言。 JSON能够表示四种原型(字符串型,数字型,布尔型和null)和两种结构类型(对象和数组)。

JSON基于两种结构之上:

•键/值对的集合。在不同的语言中,被实现为对象、记录、结构、字典、哈希表或关联数组。 •有序值列表。在大多数语言中,被实现为数组、向量、列表或序列。 JSON对各类数据的表示

这些是通用数据结构,实际上所有的现代编程语言支持其中的某一种形式,在多种语言间的可交换数据格式都是基于这些结构的。

JSON与XML比较 相似点:

①JSON与XML都是将对象以纯文本字符串格式进行表示的。

②作为纯文本字符串格式,二者都适合通过HTTP协议进行传送,并被各类异构的系统接收,所以二者都适合作为Web服务的输入和输出。

③二者都具有多种语言的函数库支持,包括JavaScript。也有函数库可以从原生对象转换到两种形式的任何一种,并可以再转换回原生对象。

不同点:

①JSON对于XML的另一个优点是JSON的精炼简洁,不需要标签。相比之下XML显得过于冗余。

以下例来说明,一段数据记录一个班级3个学生的信息: XML表示法 JSON表示法 { \"classinfo\" : { \"students\" : [ Michael Smith 99.5 17 true Steve Johnson 34.87 17 false Rebecca Young 89.6 18 true { \"name\" : \"Michael Smith\\"average\" : 99.5, \"age\" : 17, \"graduating\" : true }, { \"name\" : \"Steve Johnson\ \"average\" : 34.87, \"age\" : 17, \"graduating\" : false }, { \"name\" : \"Rebecca Young\ \"average\" : 89.6, \"age\" : 18, \"graduating\" : true }]} } 从例子可见,在XML数据描述中 等元素不是完全必要的,但在XML规范中采用此种方式时是必须写的,否则数据表述将不完整。而实际中我们关心的只是学生及其信息。而在具体的每个学生信息中尽管其姓名、年龄信息就出现一次但诸如这样的标签则要出现两次。而用JSON描述同样的信息时,由于不需要使用关闭标签来呼应开始标签因此许多多余的信息不再出现了,相对XML而言这将有利于减少传输同样的信息内容发生的数据字节量。上例不包含空格,XML描述信息使用了365字节,而JSON则使用224字节,后者比前者节省了100多字节。

②JSON与XML相比对JavaScript有着更好的通用性,一段JSON格式数据经过JavaScript一个简单的方法即可转换成JavaScript对象供程序调用,转换方法是浏览器的JavaScript内部定义好的无需再手工编写。而一段XML格式的数据需要调用浏览器内部的XML解析器工具进行解析后才可以使用。而对于不同内核的浏览器(如IE、Netscape等)XML解析的方法是有差别的,因此需要针对不同浏览器内核做不同的方法封装,从而给客户端开发带来一定的复杂度。相比之下JSON被浏览器解析的速度更快。

③JSON是具体的数据格式,而XML实际是一种元数据格式,开发者需要确定究竟要使用哪种XML方言,因为每一个方言都有自己的约定。因此,一个服务端XML到对象的映射框架可能无法与JavaScript消息兼容。

④JSON格式与XML格式相比不足之处在于,JSON的人可读性不如XML,由于XML的冗余使之能很容易的表示什么信息是被展现的。而JSON的简洁使得人们相对难直接读懂数据的

层次关系,但在实际中很少需要人亲自去阅读JSON数据。

因篇幅问题不能全部显示,请点此查看更多更全内容