![]() |
JSON简介 |
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>