JSON介绍.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
摘要 JavaScript Object Notation (JSON) 是一种轻量级、基于文本、语言无关的数据交换格式。它是从ECMAScript语言标准衍生而来的。JSON为轻便的表示结构化数据,定义了一小套格式化规则 1.? 说明 JSON是结构化数据串行化的文本格式。它衍生自Javascript的对象实字,这定义在ECMAScript语言标准第三版中。 JSON能够描述四种简单的类型(字符串、数字、布尔值及null)和两种结构化类型(对象及数组)。 字符串(string)是零个或多个Unicode字符的序列。 对象(object)是无次序的零个或多个名/值(name/value)对的集合,这里的name是string类型,value则可以是string、number、boolean、null、object或array类型。 数组(array)是零个或多个value的有序序列。 object和array这两个术语来自JavaScript规范。 JSON的设计目标是使它成为小的、轻便的、文本的,而且是JavaScript的一个子集。?? 1.1.? 本文档使用的术语/约定 本文档中的关键字:MUST、MUST NOT、REQUIRED、SHALL、SHALL NOT, SHOULD、SHOULD NOT、RECOMMENDED、MAY和OPTIONAL,按照[RFC2119]中所描述的来解释。 本文档中的语法规则按照[RFC4234]中所描述的来解释。? 2.? JSON语法 JSON文本是一个标记符的序列。这套标记符包含六个构造字符、字符串、数字和三个实字名。 JSON文本一个串行化的对象或数组。 JSON-text = object / array 以下是六个构造字符: begin-array???? = ws %x5B ws? ; [ 左方括号 begin-object??? = ws %x7B ws? ; { 左大括号 end-array?????? = ws %x5D ws? ; ] 右方括号 end-object????? = ws %x7D ws? ; } 右大括号 name-separator? = ws %x3A ws? ; : 冒号 value-separator = ws %x2C ws? ; , 逗号 在这六个构造字符的前或后允许存在无意义的空白符。 ws = *( ??????????? %x20 /????????????? ; 空格符 ?????????? %x09 /????????????? ; 水平制表符 ??????????? %x0A /????????????? ; 换行符 ??????????? %x0D??????????????? ; 回车符 ??? ) 2.1.? 值 JSON必须(MUST)是一个对象、数组、数字或字符串,或者是下面三个实字名之一: false null true 实字名必须(MUST)是小写的,且不允许有其它的实字名。 value = false / null / true / object / array / number / string false = %x66.61.6c.73.65?? ; false null? = %x6e.75.6c.6c????? ; null true? = %x5????? ; true 2.2.? 对象 对象结构被表示为:一对大括号包围着零个或多个name/value对(或者是成员) 。名是string类型的。每个名后面根一个冒号,把名与值分开。逗号则隔开紧跟在值后的另一个名。对象中的这些名应该(SHOULD)是唯一的。 object = begin-object [ member *( value-separator member ) ] end-object member = string name-separator value 2.3.? 数组 数组结构表示为:方括号包围着零个或多个值(或是元素)。元素间以逗号相隔。 array = begin-array [ value *( value-separator value ) ] end-array 2.4.? 数字 数字的表示法与其它多数编程语言相似。一个数字包括一个可能带着负号的整数成分,它后面可能跟着一个小数部分或是指数部分。 不允许有八进制及十六进制形式。前面带有0也是被禁止的。 小数部分是一个小数点后跟着一个或多个阿拉伯数字。 指数部分以大写或小写的E开头,E后面可以跟一个正/负号。接着是一个或多个阿拉伯数字。 数字值不能表示成阿拉伯数字数字的序列(如Infinity和Nan是不允许的)。 number = [ min

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档