JSON介绍
- JSON(JavaScript Object Notation)是一种轻量级的数据交换格式
- 本质就是具有特定格式的字符窜
- JSON数据已经是客户端与服务器端交互的最常用的选择,已经很少使用xml来进行数据交互了
JSON的数据结构
- 整体结构
- Json数组:[]
- Json对象:{}
- Json数组的结构:[value1,value2,value3]
- Json对象的结构:{key1:value1,key2:value2,key3:value3}
- key的数据类型:字符串
- value的数据类型
- 数值
- 字符串
- null
- json数组[]
- json对象{}
例子:[1,"ab",[],{"n":123,"b":"abc"}]
解析技术
- Android原生API:编程相对麻烦
- Gson框架:编码简洁,项目首选
解析方向
- 将java对象(包含集合)转换为json格式字符串(服务器)
- 将json格式字符串转换为java对象(包含集合)
相关API
Android原生API
JsonObject:json对象{}
JSONObject(String json):将json字符串解析为json对象
Xxx getXxx(String name):根据name,在json对象中得到对应的Value
JsonArray:json数组[]
JSONArray(String json):将json字符串解析为json数组
int length():得到json数组中元素的个数
Xxx getXxx(int index):根据下标得到json数组中对应的元素数据
Gson框架API
Gson:能解析json数据的类
Gson():构造对象的方法
String toJson(Object src):将对象转换为对应格式的json字符串
T fromJson(String json,Type typeOfT):解析Json字符串,得到对象
TypeToken<T>:用来得到Type的类
protected TypeToken():受保存的构造方法
getType():得到Type的类