1. JSON(参考资料http://www.w3school.com.cn/json/index.asp)
a. JSON:JavaScript 对象表示法(JavaScript Object Notation)。
JSON 是存储和交换文本信息的语法。类似 XML。
JSON 比 XML 更小、更快,更易解析。
JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 JavaScript 对象
b. JSON语法规则
JSON 语法是 JavaScript 对象表示法语法的子集。
· 数据在名称/值对中
· 数据由逗号分隔
· 花括号保存对象
· 方括号保存数组
c.JSON 名称/值对
JSON 数据的书写格式是:名称/值对。名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:
"firstName" : "John"
这很容易理解,等价于这条 JavaScript 语句:
firstName = "John"
d.json 值
JSON 值可以是:
· 数字(整数或浮点数)
· 字符串(在双引号中)
· 逻辑值(true 或 false)
· 数组(在方括号中)
· 对象(在花括号中)
· null
e.json对象
JSON 对象在花括号中书写:对象可以包含多个名称/值对:
{ "firstName":"John" , "lastName":"Doe" }
f.json 数组
JSON 数组在方括号中书写:数组可包含多个对象:
{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
在上面的例子中,对象 "employees" 是包含三个对象的数组。每个对象代表一条关于某人(有姓和名)的记录。
g.json文件
· JSON 文件的文件类型是 ".json"
· JSON 文本的 MIME 类型是 "application/json"
h. 实例比较
· XML和JSON都使用结构化方式来表示数据
· 用XML表示中国部分省市数据如左图,Json格式如右图:
<?xml version="1.0"encoding="utf-8"?> <country> <name>中国</name> <province> <name>黑龙江</name> <cities> <city>哈尔滨</city> <city>大庆</city> </cities> </province> <province> <name>广东</name> <cities> <city>广州</city> <city>深圳</city> <city>珠海</city> </cities> </province> <province> <name>台湾</name> <cities> <city>台北</city> <city>高雄</city> </cities> </province> <province> <name>新疆</name> <cities> <city>乌鲁木齐</city> </cities> </province> </country> |
{ "name": "中国", "province": [{ "name": "黑龙江", "cities": { "city": ["哈尔滨", "大庆"] } }, { "name": "广东", "cities": { "city": ["广州", "深圳", "珠海"] } }, { "name": "台湾", "cities": { "city": ["台北", "高雄"] } }, { "name": "新疆", "cities": { "city": ["乌鲁木齐"] } }] } |
· 编码的可读性,xml有明显的优势,毕竟人类的语言更贴近这样的说明结构。json读起来更像一个数据块,读起来就比较费解了。不过,我们读起来费解的语言,恰恰是适合机器阅读,所以通过json的索引.province[0].name就能够读取“黑龙江”这个值。
· 编码的手写难度来说,xml还是舒服一些,好读当然就好写。不过写出来的字符JSON就明显少很多。去掉空白制表以及换行的话,JSON就是密密麻麻的有用数据,而xml却包含很多重复的标记字符。
2. GSON(参考资料https://code.google.com/p/google-gson/)
目的:实现JavaObject与Json的转换。 序列化toJson() and 反序列化fromJson()
例子1:
Gson gson = new Gson(); // Or use new GsonBuilder().create();
MyType target = new MyType();
String json = gson.toJson(target); // serializes target to Json
MyType target2 = gson.fromJson(json, MyType.class); // deserializes json into target2
例子2:
http://www.cnblogs.com/haippy/archive/2012/05/20/2509329.html
原文链接:http://www.apkbus.com/blog-227233-59080.html