Json 以其体积小,解码方便的特点,在异构的系统中进行数据交换占有非常重要的地位
Json: JavaScript Object Notation -- JavaScript对象符号,Json数据是一系列键值对的集合
一个Json对象的例子:以大括号括住键值对, 如: {"name" : "zhangsan","age":20}, 其中值可以以大括号括住
{"name":"Michael","address":
{"city":"Beijing","street":"Chaoyang Road","postcode":100036}
}
一个Json对象的数组的例子,以方括号[] 来括住,如[{"name":"zhangsan","age":20},{"name":"lisi","age":30}]
json开发流程:
1. 开始解析数组
2. 开始解析对象
3. 解析键值对,如果遇到了},意味着解析对象结束
4. 解析数组流程
------------------
在jsonTest2工程中:基本代码与jsonTest相似,但增加了一个User实体类,
具体实现过程如下:
这里有一个User实体类,通过Gson的fromGson方法,其中传2个参数,
第一个jsonData数据,就是那种键值对形式的数据,
第2 个参数就是要把jsonData 数据转化成具体某一个实体类的对象(如:这里是User类的user对象)
这个方法将{/"name/":/"Michael/",/"age/":20} 依次赋值给user对象
将 "Michael" 这个值赋给user的name为值,20这个值赋给user的age为值
执行结果:
----------------
jsonTest3工程:实现将jsonData数组转化为LinkedList
如图
具体代码详见 jsonTest , jsonTest02, jsonTest03 工程