在安卓开发过程中,常用的数据就使用的json格式数据。因为json格式的数据有:方便传输(减小多余字符,传输数据更少),
易于阅读及方便转换(Gson,FastJson等框架)等优势。
通常在开发中,要与服务器进行数据传输时,我们会和相关同事事先约定好数据格式,请求参数,返回json数据的字段等。
然后再根据返回json数据参数来定义接收数据的实体类,要求实体类中的属性字段与json返回的字段相对应。然后再解析数据,展示在我们的APP中。
有没有更简单地方法呢?比如我收到了服务端返回的json数据,直接用工具生成对应地实体类,不用我们一个字段一个字段地去对比来敲实体类的属性呢?
当然有,那就是AndroidStudio的插件GsonFormat。
使用方法:
- 第一步:安装插件
安装方法:File->Settings..->Plugins–>Browse repositores..搜索GsonFormat->点击右边的Install按钮->重启AndroidStudio.
或者:
下载GsonFormat.jar->Android studio File->Settings..->Plugins –>install plugin from disk->导入下载在本地的GsonFormat.jar->重启AndroidStudio.
插件下载地址:https://plugins.jetbrains.com/plugin/7654?pr=androidstudio 第二步:在项目中新建一个实体类,比如我新建了测试类TestGsonBean,然后AndroidStudio工具中选择Code->Generate->GsonFormat,也可以使用快捷键Alt+S,如图:
第三步,转换数据
在第二步中,选择了GsonFormat后,会弹出一个数据转换的提示框,把我们要转换的json数据复制进去,点击OK键即可。当然你也可以通过Setting按钮对数据转换进行设置。如图:
点击OK键后,弹出数据格式设置提示框:
点击图右下角的OK键,对应地实体类就生成了:
public class TestGsonBean {
/**
* firstName : Brett
* lastName : McLaughlin
* email : aaaa
*/
private List<PeopleBean> people;
public List<PeopleBean> getPeople() {
return people;
}
public void setPeople(List<PeopleBean> people) {
this.people = people;
}
public static class PeopleBean {
private String firstName;
private String lastName;
private String email;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
}
是不是非常方便呢?赶紧试试吧,我使用的测试json数据是直接在网上找的数据,json数据内容如下:
{
"people": [
{
"firstName": "Brett",
"lastName": "McLaughlin",
"email": "aaaa"
},
{
"firstName": "Jason",
"lastName": "Hunter",
"email": "bbbb"
},
{
"firstName": "Elliotte",
"lastName": "Harold",
"email": "cccc"
}
]
}