GSONFormat的简单使用
标签(空格分隔): Android
今天主要解决历史遗留问题,而且工作效率比较低orz
JSON 与 Gson
众所周知,JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。常见格式为键值对形式,如下
{"userName": "oven", "userId": "1234567"}
而GSON是google推出的一个实现 JSON 与 Java 对象间转化的库,它可以轻松实现 JSON 与 Java 对象间的转换
GsonFormat 插件的用法
在Android Studio中,可以利用 GsonFormat插件,快速创建符合 Gson要求的 javaBean 。GSONFormat地址:https://github.com/zzz40500/GsonFormat
使用过程
-
将需要解析的 json 数据直接粘贴到框内,
小tip:应该直接把从接口拿到的数据粘贴,避免 api 文档格式问题带来的各种不必要的 bug
-
勾选需要的属性
自动生成代码
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public static JobBean objectFromData(String str) {
return new com.google.gson.Gson().fromJson(str, JobBean.class);
}
4.在所需界面调用即可
JobBean job = JobBean.objectFromData(jsonstr);
其他
- 使用 Gson 将数据解析成一个对象
Gson gson = new Gson();
Person person = gson.fromJson(jsonData,Person.class);
- 使用 Gson 将数据解析成一个 List
List<Person> people = gson.fromJson(jsonData,new TypeToken<List<Person>>){}.getType());
借助TypeToken将期望解析成的数据类型传入fromJson()方法中
实际上,在使用Gsonformat时能自动生成对应的 getobjectfromdata 或 getArrayfromdata 方法,按需选择即可
- SerializedName 的用法
一种协调后台传回数据的字段命名格式与Java命名习惯不同的注释方式
@SerializedName("user_name")
private String userName;