您的位置:首页 > Web前端 > JavaScript

Volley Gson Json

2015-08-18 15:05 671 查看
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 newGsonBuilder().create();
MyTypetarget = new MyType();
Stringjson = gson.toJson(target); // serializes target to Json
MyTypetarget2 = gson.fromJson(json, MyType.class); // deserializes json into target2
例子2:
http://www.cnblogs.com/haippy/archive/2012/05/20/2509329.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: