JSON简介 |
-
物件
-
{}
{ 成员 }
成员
-
对
对 , 成员
对
- 字符串 : 值 阵列
-
[]
[ 元素 ]
分子
-
值
值 , 元素
值
-
串
号
对象
数组
真正的
假
空
-
串
-
“
“ 字符 “
字符
-
字符
字符字符
字符
-
任何Unicode的字符
除 “ ,或 \ 或
控制字符
\“
\ \
\ /
\ B
\ F
\ N
\ R
\ T
\ U 四个十六进制数字
数
-
INT
INT压裂
INT EXP
INT压裂EXP
INT
-
数字
digit1-9数字
- 数字
- digit1-9位
压裂
- 。 数字 EXP
- ê 数字 数字
-
数字
数字 数字
é
-
E E +
E-
E E
+ E -
JSON(JavaScript对象符号)是一种轻量级的数据交换格式。这是很容易为人类读写。它是易于机器解析和生成。它是基于JavaScript编程语言的一个子集 , 标准ECMA-262第三版- 1999年12月。JSON是一种完全独立于语言的文本格式,但使用C家族的语言,包括C语言,C + +,C#中,Java中的JavaScript,PERL,Python中,和许多其他程序员所熟悉的公约。这些特性使JSON成为理想的数据交换语言。
JSON是建立在两个结构:
- 名称/值对的集合。在各种语言中,这是作为一个对象,记录,结构,字典,哈希表,键列表或关联数组实现。
- 值的有序列表。在大多数语言中,这是实现一个数组,向量,列表,或序列。
这些都是通用的数据结构。几乎所有的现代编程语言,支持他们在一形式或另。这是有道理的,可互换的编程语言是一种数据格式,也可以根据这些结构。
在JSON中,他们采取这些形式:
一个对象是一个无序的名称/值对。一个对象{ (左括号)开始,以} (右括号)。每个名称后跟: (冒号)和名称/值对, (逗号)分隔。
一个数组是值的有序集合。数组[ (左括号),并开始与结束] (右括号)。值, (逗号)分隔。
A 值可以在双引号的字符串或数字,或真或假或空,或一个对象或数组。这些结构可以嵌套。
一个字符串是一个零个或更多的Unicode字符,包裹在双引号,用反斜杠转义序列。作为一个单一字符串表示一个字符。字符串是非常像C或Java字符串。
一个数字是非常像C或Java数,八进制和十六进制格式,除了不使用。
可以对任何标记之间插入空白。除了少数的编码细节,完全描述的语言。
json特点:
json(JavaScript Object Notation)
json的最小化
json是基于文本的
json是javascript的子集
json是语言独立的,轻量级的,基于文本的,易于解析的
json不是文档格式,只用于数据传输
json不是标记语言
json不能序列化,没有循环,没有不可见元素,没有函数
application/json
json 和xml 转换
XML
<?xml version="1.0" encoding="gb2312"?>
<section>
<title>Book-Signing Event</title>
<signing>
<author title="Mr" name="Vikram Seth"></author>
<book title="A Suitable Boy" price="$22.95"></book>
</signing>
<signing>
<author title="Dr" name="Oliver Sacks"></author>
<book title="The Island of the Color-Blind" price="$12.95"></book>
</signing>
</section>
JSON
<script type="text/javascript">
var s={"section":
{
"title":"Book-Signing Event",
"signing":[
{
"author":{"title":"Mr","name":"Vikram Seth"},
"book":{"title":"A Suitable Boy","price":"$22.95"}
},
{
"author":{"title":"Dr","name":"Oliver Sacks"},
"book":{"title":"The Island of the Color-Blind","price":"$12.95"}
}
]
}
}
alert(s.section.title);
</script>