- JSON是一种轻量级的数据格式,用于数据的交互。
- Android交互数据主要两种方式:JSON和 XML。XML格式比JSON格式数量略大,所以大多都使用Json数据格式。
- 在Android开发的过程中,数据访问 JSON解析就显得尤为重要。
示例JSON
- { name :"xqz", age:21, friends:["wzj","cgj","wl"] }
添加插件GsonFormat


添加依赖 gson


GsonFormat
根据 JSON 数据自动创建实体类。
【JavaBean】
- public class JavaBean {
-
- }




【结果】
- public class JavaBean {
- /**
- * name : xqz
- * age : 21
- * friends : ["wzj","cgj","wl"]
- */
- private String name;
- private int age;
- private List<String> friends;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- public List<String> getFriends() {
- return friends;
- }
- public void setFriends(List<String> friends) {
- this.friends = friends;
- }
- }
Gson
- Gson是基于事件驱动的,根据所需要取的数据建立一个对应 JSON 数据的 实体类,可以通过Gson 将JSON数据赋值到 实体类上进行使用。
【MainActivity】
- String jsonStr = " { name :\"xqz\", age:21, friends:[\"wzj\",\"cgj\",\"wl\"] }";
- JavaBean javaBean = new Gson().fromJson(jsonStr,JavaBean.class);
- LogUtils.logi("MainActivity",javaBean.getName()+" ,age:"
- +javaBean.getAge()+",friends:"+javaBean.getFriends().toArray());
【结果】

FastJson
Fastjson是一个Java语言编写的高性能的JSON处理器,由阿里巴巴公司开发。
- implementation 'com.alibaba:fastjson:1.2.59'
- String jsonStr = " { name :\"xqz\", age:21, friends:[\"wzj\",\"cgj\",\"wl\"] }";
- JavaBean javaBean =JSON.parseObject(jsonStr,new JavaBean);
- LogUtil.logi("MainActivity",javaBean.getName()+" ,age:"
- +javaBean.getAge()+",friends:"+javaBean.getFriends().toArray());
Gson 和 FastJson
Gson功能更全,解析更加准确,Google公司开发。FastJson性能更好,采用独创的算法,阿里巴巴开发。