ECMA 404-2013 The JSON Data Interchange Format (1st Edition).pdf

上传人:ideacase155 文档编号:704837 上传时间:2019-01-03 格式:PDF 页数:14 大小:275.92KB
下载 相关 举报
ECMA 404-2013 The JSON Data Interchange Format (1st Edition).pdf_第1页
第1页 / 共14页
ECMA 404-2013 The JSON Data Interchange Format (1st Edition).pdf_第2页
第2页 / 共14页
ECMA 404-2013 The JSON Data Interchange Format (1st Edition).pdf_第3页
第3页 / 共14页
ECMA 404-2013 The JSON Data Interchange Format (1st Edition).pdf_第4页
第4页 / 共14页
ECMA 404-2013 The JSON Data Interchange Format (1st Edition).pdf_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、 Reference number ECMA-123:2009 Ecma International 2009 ECMA-404 1st Edition / October 2013 The JSON Data Interchange Format Ecma International 2013 COPYRIGHT PROTECTED DOCUMENT i Ecma International 2013 Contents Page 1 Scope 1 2 Conformance . 1 3 Normative references 1 4 JSON Text. 1 5 JSON Values

2、2 6 Objects 2 7 Arrays . 3 8 Numbers . 3 9 String 4 ii Ecma International 2013 Introduction JSON is a text format that facilitates structured data interchange between all programming languages. JSON is syntax of braces, brackets, colons, and commas that is useful in many contexts, profiles, and appl

3、ications. JSON was inspired by the object literals of JavaScript aka ECMAScript as defined in the ECMAScript Language Specification, third Edition 1. It does not attempt to impose ECMAScripts internal data representations on other programming languages. Instead, it shares a small subset of ECMAScrip

4、ts textual representations with all other programming languages. JSON is agnostic about numbers. In any programming language, there can be a variety of number types of various capacities and complements, fixed or floating, binary or decimal. That can make interchange between different programming la

5、nguages difficult. JSON instead offers only the representation of numbers that humans use: a sequence of digits. All programming languages know how to make sense of digit sequences even if they disagree on internal representations. That is enough to allow interchange. JSON text is a sequence of Unic

6、ode code points. JSON also depends on Unicode in the hex numbers used in the u escapement notation. Programming languages vary widely on whether they support objects, and if so, what characteristics and constraints the objects offer. The models of object systems can be wildly divergent and are conti

7、nuing to evolve. JSON instead provides a simple notation for expressing collections of name/value pairs. Most programming languages will have some feature for representing such collections, which can go by names like record, struct, dict, map, hash, or object. JSON also provides support for ordered

8、lists of values. All programming languages will have some feature for representing such lists, which can go by names like array, vector, or list. Because objects and arrays can nest, trees and other complex data structures can be represented. By accepting JSONs simple convention, complex data struct

9、ures can be easily interchanged between incompatible programming languages. JSON does not support cyclic graphs, at least not directly. JSON is not indicated for applications requiring binary data. It is expected that other standards will refer to this one, strictly adhering to the JSON text format,

10、 while imposing restrictions on various encoding details. Such standards may require specific behaviours. JSON itself specifies no behaviour. Because it is so simple, it is not expected that the JSON grammar will ever change. This gives JSON, as a foundational notation, tremendous stability. JSON wa

11、s first presented to the world at the JSON.org website in 2001. JSON stands for JavaScript Object Notation. This Ecma Standard was adopted by a General Assembly postal vote in October 2013. iii Ecma International 2013 “COPYRIGHT NOTICE 2013 Ecma International This document may be copied, published a

12、nd distributed to others, and certain derivative works of it may be prepared, copied, published, and distributed, in whole or in part, provided that the above copyright notice and this Copyright License and Disclaimer are included on all such copies and derivative works. The only derivative works th

13、at are permissible under this Copyright License and Disclaimer are: (i) works which incorporate all or portion of this document for the purpose of providing commentary or explanation (such as an annotated version of the document), (ii) works which incorporate all or portion of this document for the

14、purpose of incorporating features that provide accessibility, (iii) translations of this document into languages other than English and into differe nt formats and (iv) works by making use of this specification in sta ndard conformant products by im plementing (e.g. by copy and paste wholly or partl

15、y) the functionality therein. However, the content of this document itself may not be modified in any way, including by removing the copyright notice or references to Ecma International, except as required to translate it into languages other than English or into a different format. The official ver

16、sion of an Ecma International document is the English language version on the Ecma International website. In the event of discrepancies between a translated version and the official version, the official version shall govern. The limited permissions granted above are perpetual and will not be revoke

17、d by Ecma Internati onal or its successors or assigns. This document and the information contained herein is provided on an “AS IS“ basis and ECMA INTERNATIONAL DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INF

18、RINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.“ iv Ecma International 2013 1 Ecma International 2013 The JSON Data Interchange Format 1 Scope JSON is a lightweight, text-based, language-independent data interchange format. It was derived

19、from the ECMAScript programming language, but is programming language independent. JSON defines a small set of structuring rules for the portable representation of structured data. 2 Conformance Conforming JSON text is a sequence of Unicode code points that strictly conforms to the JSON grammar. 3 N

20、ormative references The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies. ISO/IEC 10646:2012, Informati

21、on Technology Universal Coded Character Set (UCS) The Unicode Consortium. The Unicode Standard, Version 6.2.0, (Mountain View, CA: The Unicode Consortium, 2012. ISBN 978-1-936213-07-8) http:/www.unicode.org/versions/Unicode6.2.0/. 4 JSON Text A JSON text is a sequence of tokens formed from Unicode c

22、ode points that conforms to the JSON value grammar. The set of tokens includes six structural tokens, strings, numbers, and three literal name tokens. The six structural tokens: U+005B left square bracket U+007B left curly bracket U+005D right square bracket U+007D right curly bracket : U+003A colon

23、 , U+002C comma These are three literal name tokens: true U+0074 U+0072 U+0075 U+0065 false U+0066 U+0061 U+006c U+0073 U+0065 2 Ecma International 2013 null U+006E U+0075 U+006C U+006C Insignificant whitespace is allowed before or after any token. The whitespace characters are: character tabulation

24、 (U+0009), line feed (U+000A), carriage return (U+000D), and space (U+0020). Whitespace is not allowed within any token, except that space is allowed in strings. 5 JSON Values A JSON value can be an object, array, number, string, true, false, or null. value object array number string true false null

25、 Figure 1 value 6 Objects An object structure is represented as a pair of curly bracket tokens surrounding zero or more name/value pairs. A name is a string. A single colon token follows each name, separating the name from the value. A single comma token separates a value from a following name. obje

26、ct string : value , Figure 2 object 3 Ecma International 2013 7 Arrays An array structure is a pair of square bracket tokens surrounding zero or more values. The values are separated by commas. The order of the values is significant. array value , Figure 3 array 8 Numbers A number is represented in

27、base 10 with no superfluous leading zero. It may have a preceding minus sign (U+002D). It may have a . (U+002E) prefixed fractional part. It may have an exponent of ten, prefixed by e (U+0065) or E (U+0045) and optionally + (U+002B) or (U+002D). The digits are the code points U+0030 through U+0039.

28、Figure 4 number Numeric values that cannot be represented as sequences of digits (such as Infinity and NaN) are not permitted. 4 Ecma International 2013 9 String A string is a sequence of Unicode code points wrapped with quotation marks (U+0022). All characters may be placed within the quotation mar

29、ks except for the characters that must be escaped: quotation mark (U+0022), reverse solidus (U+005C), and the control characters U+0000 to U+001F. There are two-character escape sequence representations of some characters. “ represents the quotation mark character (U+0022). represents the reverse so

30、lidus character (U+005C). / represents the solidus character (U+002F). b represents the backspace character (U+0008). f represents the form feed character (U+000C). n represents the line feed character (U+000A). r represents the carriage return character (U+000D). t represents the character tabulati

31、on character (U+0009). So, for example, a string containing only a single reverse solidus character may be represented as “. Any code point may be represented as a hexadecimal number. The meaning of such a number is determined by ISO/IEC 10646. If the code point is in the Basic Multilingual Plane (U

32、+0000 through U+FFFF), then it may be represented as a six-character sequence: a reverse solidus, followed by the lowercase letter u, followed by four hexadecimal digits that encode the code point. Hexadecimal digits can be digits (U+0030 through U+0039) or the hexadecimal letters A through F in upp

33、ercase (U+0041 through U+0046) or lowercase (U+0061 through U+0066). So, for example, a string containing only a single reverse solidus character may be represented as “u005C“. The following four cases all produce the same result: “u002F“ “u002f“ “/“ “/“ To escape a code point that is not in the Bas

34、ic Multilingual Plane, the character is represented as a twelve- character sequence, encoding the UTF-16 surrogate pair. So for example, a string containing only the G clef character (U+1D11E) may be represented as “uD834uDD1E“. 5 Ecma International 2013 string “ Any code point except “ or “or contr

35、ol character quotation mark “ reverse solidus solidus/ backspaceb form feedf line feedn carriage returnr character tabulationt u 4 hexadecimal digits Figure 5 string 6 Ecma International 2013 7 Ecma International 2013 Bibliography 1 ECMA-262 (ISO/IEC 16262), ECMAScript Language Specification, 3rd edition (December 1999) Ecma International 2013

展开阅读全文
相关资源
猜你喜欢
  • DIN 10236-2001 Analysis of spices and condiments - Determination of loss in mass of capsicum and allium species and of dried vegetables by vacuum oven drying《香料和调味品分析 真空炉干燥法测定辣椒和洋葱.pdf DIN 10236-2001 Analysis of spices and condiments - Determination of loss in mass of capsicum and allium species and of dried vegetables by vacuum oven drying《香料和调味品分析 真空炉干燥法测定辣椒和洋葱.pdf
  • DIN 1025-1-2009 Hot rolled I-sections - Part 1 Narrow flange I-sections I-series - Dimensions masses sectional properties《热轧工字钢 第1部分 I系列窄法兰工字钢 尺寸、重量、截面性能》.pdf DIN 1025-1-2009 Hot rolled I-sections - Part 1 Narrow flange I-sections I-series - Dimensions masses sectional properties《热轧工字钢 第1部分 I系列窄法兰工字钢 尺寸、重量、截面性能》.pdf
  • DIN 1025-2-1995 Hot rolled I-beams - Part 2 Wide flange I-beams IPB-serie dimensions masses sectional properties《热轧工字钢 第2部分 宽工字钢 IPB系列 尺寸 质量 断面性能》.pdf DIN 1025-2-1995 Hot rolled I-beams - Part 2 Wide flange I-beams IPB-serie dimensions masses sectional properties《热轧工字钢 第2部分 宽工字钢 IPB系列 尺寸 质量 断面性能》.pdf
  • DIN 1025-3-1994 Hot rolled I-beams wide flange I-beams light pattern IPBl-serie dimensions masses sectional properties《热轧工字钢 轻型宽缘工字钢 IPBI 系列、尺寸、质量、截面特征》.pdf DIN 1025-3-1994 Hot rolled I-beams wide flange I-beams light pattern IPBl-serie dimensions masses sectional properties《热轧工字钢 轻型宽缘工字钢 IPBI 系列、尺寸、质量、截面特征》.pdf
  • DIN 1025-4-1994 Hot rolled I-beams wide flange I-beams heavy pattern IPBv-serie dimensions masses sectional properties《热轧工字钢 重型宽缘工字钢 IPBV 系列、尺寸、质量、截面特征》.pdf DIN 1025-4-1994 Hot rolled I-beams wide flange I-beams heavy pattern IPBv-serie dimensions masses sectional properties《热轧工字钢 重型宽缘工字钢 IPBV 系列、尺寸、质量、截面特征》.pdf
  • DIN 1025-5-1994 Hot rolled I-beams medium flange I-beams IPE-serie dimensions masses sectional properties《热轧工字钢 中等缘工字钢 IPE系列 尺寸、质量、截面特征》.pdf DIN 1025-5-1994 Hot rolled I-beams medium flange I-beams IPE-serie dimensions masses sectional properties《热轧工字钢 中等缘工字钢 IPE系列 尺寸、质量、截面特征》.pdf
  • DIN 10255-1992 Analysis of tobacco and tobacco products determination of flow rates of gas using the soap film bubble flowmeter《烟草和烟草制品的分析 用皂膜泡流量计测量烟气的流量率》.pdf DIN 10255-1992 Analysis of tobacco and tobacco products determination of flow rates of gas using the soap film bubble flowmeter《烟草和烟草制品的分析 用皂膜泡流量计测量烟气的流量率》.pdf
  • DIN 1026-1-2009 Hot rolled steel channels - Part 1 Taper flange steel channels - Dimensions masses and sectional properties《热轧钢槽 第1部分 锥形法兰钢槽 尺寸、重量和截面性能》.pdf DIN 1026-1-2009 Hot rolled steel channels - Part 1 Taper flange steel channels - Dimensions masses and sectional properties《热轧钢槽 第1部分 锥形法兰钢槽 尺寸、重量和截面性能》.pdf
  • DIN 1026-2-2002 Hot rolled steel channels - Part 2 Parallel flange steel channels Dimensions masses and sectional properties《热轧U型钢 第2部分 平行凸缘U型钢 尺寸、质量和剖面性能》.pdf DIN 1026-2-2002 Hot rolled steel channels - Part 2 Parallel flange steel channels Dimensions masses and sectional properties《热轧U型钢 第2部分 平行凸缘U型钢 尺寸、质量和剖面性能》.pdf
  • 相关搜索

    当前位置:首页 > 标准规范 > 国际标准 > 其他

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1