JSON,数据格式数据格式

上传人:飞*** 文档编号:32072144 上传时间:2021-10-13 格式:DOCX 页数:6 大小:81.70KB
收藏 版权申诉 举报 下载
JSON,数据格式数据格式_第1页
第1页 / 共6页
JSON,数据格式数据格式_第2页
第2页 / 共6页
JSON,数据格式数据格式_第3页
第3页 / 共6页
资源描述:

《JSON,数据格式数据格式》由会员分享,可在线阅读,更多相关《JSON,数据格式数据格式(6页珍藏版)》请在装配图网上搜索。

1、JSON,数据格式数据格式JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。JSON采用完全 独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言。易于人阅读和编写, 同时也易于机器解析和生成。1 .“名称/值”对的集合(A collection of name/value pairs) o不同的语言中, 它被理解为对象(object) t 记录(record),结构(struct) t 字典(dictionary) t 哈希表(hash table) 有键列表(keyed list),或者关联数组(associative array) 2

2、.值的有序列表(An ordered list of values) o在大部分语言中,它被理解为数 组(array)。表示名称/值对这个示例非常基本,而且实际上比等效的纯文本名称/值对占用更多的空间: firstName=Brett但是,当将多个“名称/值对串在一起时,JSON就会体现出它的价值了。首先,可 以创建包含多个“名称/值对的记录,比如: “firstName: Brett, lastName:McLaughlin, email: aaaa 从语法方面来看,这与名称/值对”相比并没有很大的优势,但是在这种情况下 JSON更容易使用,而且可读性更好。例如,它明确地表示以上三个值都是同

3、一记录的一 部分;花括号使这些值有了某种联系。表示数组如果使用JSON,就只需将多个带花括号的记录分组在一起:这不难理解。在这个示例中,只有一个名为people的变量,值是包含三个条目的数 组,每个条目是一个人的记录,其中包含名、姓和电子邮件地址。上面的示例演示如何用 括号将记录组合成一个值。当然,可以使用相同的语法表示多个值(每个值包含多个记 录):这里最值得注意的是,能够表示多个值,每个值进而包含多个值。但是还应该注意, 在不同的主条目(programmers authors和musicians)之间,记录中实际的名称/值 对可以不一样。JSON是完全动态的,允许在JSON结构的中间改变表

4、示数据的方式。在处理JSON格式的数据时,没有需要遵守的预定义的约束。所以,在同样的数据结 构中,可以改变表示数据的方式,甚至可以以不同方式表示同一事物。掌握了 JSON格式之后,在JavaScript中使用它就很简单了。JSON是JavaScript 原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包。将JSON数据赋值给变量例如,可以创建一个新的JavaScript变量,然后将JSON格式的数据字符串直接赋 值给它:这非常简单:现在people包含前面看到的JSON格式的数据。但是,这还不够,因 为访问数据的方式似乎还不明显。访问数据尽管看起来不明显,

5、但是上面的长字符串实际上只是一个数组;将这个数组放进 JavaScript变量之后,就可以很轻松地访问它。实际上,只需用点号表示法来表示数组 元素。所以,要想访问programmers列表的第一个条目的姓氏,只需在JavaScript中 使用下面这样的代码:注意,数组索引是从零开始的。所以,这行代码首先访问people变量中的数据:然 后移动到称为programmers的条目,再移动到第一个记录(0):最后,访问lastName 键的值结果是字符串值“McLaughlin .下面是使用同一变量的几个示例。利用这样的语法,可以处理任何JSON格式的数据,而不需要使用任何额外的 JavaScrip

6、t 1:具包或 API。修改JSON数据正如可以用点号和括号访问数据,也可以按照同样的方式轻松地修改数据:在将字符串转换为JavaScript对象之后,就可以像这样修改变量中的数据。转换回字符串当然,如果不能轻松地将对象转换回本文提到的文本格式,那么所有数据修改都没有 太大的价值。在JavaScript中这种转换也很简单:这样就行了!现在就获得了一个可以在任何地方使用的文本字符串,例如,可以将它 用作Ajax应用程序中的请求字符串。更重要的是,可以将任何JavaScript对象转换为JSON文本。并非只能处理原来用 JSON字符串赋值的变量。为了对名为myObject的对象进行转换,只需执行相

7、同形式的命 令:这就是JSON与本系列讨论的其他数据格式之间最大的差异。如果使用JSON,只需 调用一个简单的函数,就可以获得经过格式化的数据,可以直接使用了。对于其他数据格 式,需要在原始数据和格式化数据之间进行转换。即使使用Document Object Model这 样的API (提供了将自己的数据结构转换为文本的函数),也需要学习这个API并使用 API的对象,而不是使用原生的JavaScript对象和语法。最终结论是,如果要处理大量JavaScript对象,那么JSON几乎肯定是一个好选择, 这样就可以轻松地将数据转换为可以在请求中发送给服务器端程序的格式。JSON和XML的比较可读

8、性JSON和XML的可读性可谓不相上下,一边是简易的语法,一边是规范的标签形式,很 难分出胜负。可扩展性XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,而JSON却不能。 不过JSON在Javascript主场作战,可以存储Javascript复合对象,有着xml不可比拟 的优势。编码难度XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有提供的工具。无工具的情况 下,相信熟练的开发人员一样能很快的写出想要的xml文档和JS0N字符串,不过,xml文 档要多很多结构上的字符。解码难度XML的解析方式有两种:一是通过文档模型解析,也就是通过父标签索引出一组标记。例

9、如: xmlData. getElementsByTagName(tagName),但是这样是要在预先知道文档结构的情况 下使用,无法进行通用的封装。另夕|、一1种方法是遍历节点(document以及childNodes) o这个可以通过递归来实现, 不过解析出来的数据仍旧是形式各异,往往也不能满足预先的要求。凡是这样可扩展的结构数据解析起来一定都很困难。JSON也同样如此。如果预先知道JSON结构的情况下,使用JSON进行数据传递简直是 太美妙了,可以写出很实用美观可读性强的代码。如果你是纯粹的前台开发人员,一定会 非常喜欢JSON。但是如果你是一个应用开发人员,就不是那么喜欢了,华竟xml

10、才是真正 的结构化标记语言,用于进行数据传递。而如果不知道JSON的结构而去解析JSON的话,那简直是噩梦。费时费力不说,代码 也会变得冗余拖沓,得到的结果也不尽人意。但是这样也不影响众多前台开发人员选择 JSONo因为json. js中的toJSONStringO就可以看到JSON的字符串结构。当然不是使用 这个字符串,这样仍旧是噩梦。常用JSON的人看到这个字符串之后,就对JSON的结构很 明了了,就更容易的操作JSON。以上是在Javascript中仅对于数据传递的xml与JSON的解析。在Javascript地盘 内,JSON毕竟是主场作战,其优势当然要远远优越于xml。如果JSON中

11、存储Javascript 复合对象,而且不知道其结构的话,我相信很多程序员也一样是哭着解析JSON的。实例比较XML和JSON都使用结构化方法来标记数据,下面来做一个简单的比较。用XML表示中国部分省市数据如下:用JSON表示如下:编码的可读性,xml有明显的优势,毕竟人类的语言更贴近这样的说明结构。json读 起来更像一个数据块,读起来就比较费解了。不过,我们读起来费解的语言,恰恰是适合 机器阅读,所以通过json的索引.province 0. name就能够读取“黑龙江”这个值。编码的手写难度来说,xml还是舒服一些,好读当然就好写。不过写出来的字符JSON 就明显少很多。去掉空白制表以及

12、换行的话,JSON就是密密麻麻的有用数据,而xml却包 含很多重复的标记字符。JSON在线校验工具刖百JSON格式取代了 xml给网络传输带来了很大的便利,但是却没有了 xml的一目了然,尤 其是json数据很长的时候,我们会陷入繁琐复杂的数据节点查找中。但是国人的一款在线工具Bejson给众多程序员带来了一阵凉风。1. JSON格式化校验很多人在得到JSON数据后,一时没有办法判断JSON数据格式是否正确,是否少或多符 号而导致程序不能解析,这个功能正好能帮助大家来完成JSON格式的校验。2. JSON视图想必很多程序员都会遇到当找一个节点的时候,会发现如果直接对着一行行数据无从 下手,就算

13、知道哪个位置,还要一个节点一个节点的往下找,万一一不留神乂得从头开始找 的麻烦事。有了这个功能,一切JSON数据都会变成视图格式,一目了然,什么对象下有多少数组, 一个数组下有多少对象。这个功能非常实用。不光有视图功能还有格式化、压缩、转义、校验功能。总之很强 大。3. 压缩转义程序员在写JSON语句测试用例的时候,很多时候为了方便直接写了个JSON字符串做 测试,但是乂陷入了无止境的双引号转义的麻烦中。这款功能集压缩、转义于一身,让你在 写测试用例的时候,如鱼得水。4. JSON在线编辑器如果你现在的电脑刚巧没有装你所熟悉的编辑器,如果你想针对拿到的JSON数据的某 个节点做数据修改时,这个

14、功能可以满足你的需求。5. 在线发送JSON数据大家都知道,JSON用的最多的还是web项目的开发,那你要测试一个接口是否能准确的 接受JSON数据,那你就得写一个页面发送JSON字符串,重复的做着这件事。随着这个功能 的横空出世,你可以摆脱写测试页面了,因为这个功能可以将指定的JSON数据发送指定的 url,方便吧。6. JSON着色很多人在写文档时,总希望文档能一目了然,但是面对着白底黑字的JSON数据总是提 不起精神没关系,使用这个功能,所有的关键字都会被着色,数据结构一目了然。7. JSON-XML 互转顾名思义,将JSON格式的数据转化成XML格式、或者XML格式的数据转化成JSON格 式,一切都不是问题。感谢您的阅读,祝您生活愉快。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!