Volley Gson Json

来源:互联网 发布:ubuntu 锐速 编辑:程序博客网 时间:2024/05/22 12:36

1.      JSON(参考资料http://www.w3school.com.cn/json/index.asp)

       a.JSONJavaScript对象表示法(JavaScriptObjectNotation)。

        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/)

目的:实现JavaObjectJson的转换。 序列化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
0 0
原创粉丝点击