【幻化万千戏红尘】qianfengDay29-Json解析、Gson解析、FASTJSON解析基础学习:

课程回顾:

XML:可扩展的标记语言
跨平台、跨网络、跨编程语言
描述数据
作用:
1、传输数据
2、配置文件
3、Android的布局文件

解析XML:
1、SAX
2、PULL

创建类

 


今日内容:
JSON:JavaScript Object Notation就是符合一定格式的字符串
是轻量级,数据交互的格式
目前互联网中使用范围最为广泛的数据交互的格式
跨平台、跨网络、跨编程语言
JSON的规则:
{}---->对象,内部只能是属性组成
[]---->数组,内部只能是元素组成
""---->属性名称或属性的值(字符串类型)
,----->隔开属性或元素
:----->连接属性和值

 

格式:
"{'id':1,'name':'张三'}"
"{'stu':{'id':1,'name':'张三'}}"
"{'stu1':{'id':1,'name':'张三'},'stu2':{'id':1,'name':'张三'}}"
"[{'id':1,'name':'张三'},{'id':2,'name':'李四'}]"
"{'list':[{'id':1,'name':'张三'},{'id':2,'name':'李四'}]}"
"{'id':1,'schoolName':'北大','list':[{'id':1,'name':'张三'},{'id':2,'name':'李四'}]}"

解析方式:
1、JSON官方
JSONObject:解析对象---{}
常用方法:
length:获取对象的属性个数
keys:获取所有属性的迭代器
getXXX:获取属性的值
putXXX:添加对应的属性和值
optXXX:获取指定属性的值

JSONArray:解析数组----[]
常用方法:
length:获取元素个数
optXXX:获取指定索引的元素内容

实际创建的类,属性不做要求

2、Gson谷歌
Gson类
1、解析对象:fromJson(待解析的字符串,Class<T>);
参数说明:
第一个参数:待解析的字符串,对象字符串
第二个参数:对应对象的Class对象

2、解析数组:fromJson(待解析的字符串([),new TypeToken<ArrayList<元素类型>>(){}.getType())
参数说明:
第一个参数:待解析的字符串,数组字符串
第二个参数:对应集合的Type类型

3、生成JSON格式字符串:toJson(对象)

要求创建的类必须可以体现JSON格式字符串的内容

3、FASTJSON阿里巴巴
工具类JSON
常用静态方法:
1、parseObject
解析对象字符串
2、parseArray
解析数组字符串
3、toJson
转换为诶JSON格式字符串

要求创建的类必须可以体现JSON格式字符串的内容
还必须有无参构造

 

练习:
{'data':{'type':'学生','stu1':{'id':1,'name':'张三'},'stu2':{'id':2,'name':'李四'}}}}

@SerializName("原来的名称")
@JSONField(name="原来的名称")

练习:
http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=20&page=1
解析

练习:
使用Servlet创建接口
 返回JSON格式字符串
 
 再写客户端进行数据的请求和解析
 
 
 JSON和XML的区别?
 JSON:
 
 XML:

 

 

 

 


 

posted on 2016-08-19 08:56  幻化万千戏红尘  阅读(214)  评论(0编辑  收藏  举报