存档

【转载】JSON介绍

2020-12-21  本文已影响0人  木木与呆呆

0.说明

JSON(JavaScript Object Notation)
是一种轻量级的数据交换格式。
易于人阅读和编写。
同时也易于机器解析和生成。
它是基于JavaScript Programming Language,
Standard ECMA-262 3rd Edition - December 1999的一个子集。
JSON采用完全独立于语言的文本格式,
但是也使用了类似于C语言家族的习惯
(包括C, C++, C#, Java, JavaScript, Perl, Python等)。
这些特性使JSON成为理想的数据交换语言。

JSON建构于两种结构:

1."名称/值"对的集合(A collection of name/value pairs)

不同的语言中,
它被理解为对象(object),纪录(record),结构(struct),
字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。

2.值的有序列表(An ordered list of values)

在大部分语言中,它被理解为数组(array)。
这些都是常见的数据结构。
事实上大部分现代计算机语言都以某种形式支持它们。
这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。

JSON具有以下这些形式:

1.对象Object

对象是一个无序的"‘名称/值’对"集合。
一个对象以 {左括号 开始, }右括号 结束。
每个"名称"后跟一个 :冒号 ;
"‘名称/值’ 对"之间使用 ,逗号 分隔。

2.数组Array

数组是值(value)的有序集合。
一个数组以 [左中括号 开始, ]右中括号 结束。值之间使用 ,逗号 分隔。

3.值Value

值(value)可以是双引号括起来的字符串(string)、
数值(number)、true、false、 null、
对象(object)或者数组(array)。
这些结构可以嵌套。


4.字符串String

字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。
一个字符(character)即一个单独的字符串(character string)。
字符串(string)与C或者Java的字符串非常相似。


5.数值Number

数值(number)也与C或者Java的数值非常相似。
除去未曾使用的八进制与十六进制格式。除去一些编码细节。


6.空白Whitespace

空白可以加入到任何符号之间。 以下描述了完整的语言。


7.名词解释

json
    element

value
    object
    array
    string
    number
    "true"
    "false"
    "null"

object
    '{' ws '}'
    '{' members '}'

members
    member
    member ',' members

member
    ws string ws ':' element

array
    '[' ws ']'
    '[' elements ']'

elements
    element
    element ',' elements

element
    ws value ws

string
    '"' characters '"'

characters
    ""
    character characters

character
    '0020' . '10FFFF' - '"' - '\'
    '\' escape

escape
    '"'
    '\'
    '/'
    'b'
    'f'
    'n'
    'r'
    't'
    'u' hex hex hex hex

hex
    digit
    'A' . 'F'
    'a' . 'f'

number
    integer fraction exponent

integer
    digit
    onenine digits
    '-' digit
    '-' onenine digits

digits
    digit
    digit digits

digit
    '0'
    onenine

onenine
    '1' . '9'

fraction
    ""
    '.' digits

exponent
    ""
    'E' sign digits
    'e' sign digits

sign
    ""
    '+'
    '-'

ws
    ""
    '0020' ws
    '000A' ws
    '000D' ws
    '0009' ws

8.参考文章

介绍 JSON
Introducing JSON
ECMA-404 The JSON Data Interchange Standard.

上一篇下一篇

猜你喜欢

热点阅读