JSON数据解析学习
JSON介绍
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。
JSON 是存储和交换文本信息的语法。类似 XML。但是JSON 比 XML 更小、更快,更易解析。
JSON具有自我描述性,更易理解,易于人类阅读也易于机器生成和解析。
JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。
JSON文件
JSON 文件的文件类型是 ".json"
JSON 文本的 MIME 类型是 "application/json"
JSON语法规则
JSON 语法是 JavaScript 对象表示法语法的子集:
数据在名称/值对中。
数据由逗号分隔。
花括号保存对象。
方括号保存数组。
JSON值
JSON 值可以是:
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true 或 false)
数组(在方括号中)
对象(在花括号中)
null
JSON的结构
JSON有两种结构:对象(object)和数组(array)。
对象
对象(object)以花括号包围,
key:value形式构成一个键值对,一个对象可以包含多个键值对,每个键值对以逗号(,)和其他键值对分隔开,值如果是字符串则必须用括号,数值型则不需要。
如下面的对象:
{ "firstName":"John" , "lastName":"Doe" }
数组
数组以方括号包围。
数组是值的有序集合,值之间以逗号分隔(,),这个值可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。
如:
{
"employees":
[
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
参考资料
介绍JSON:
中文版:http://www.json.org/json-zh.html
W3school JSON教程:
http://www.w3school.com.cn/json/index.asp
JSON in Java:
http://www.json.org/java/index.html
工具、库、源码下载:
JSON-java源码:
https://github.com/douglascrockford/JSON-java
JSON-lib jar包:
http://sourceforge.net/projects/json-lib/?source=directory
google-gson:
http://code.google.com/p/google-gson/
还有JSON-Tools:
http://sourceforge.net/projects/jsontools.berlios/?source=directory