在安卓开发过程中,常用的数据就使用的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,如图:
![这里写图片描述](https://img-blog.csdn.net/20161109093303201)
-
第三步,转换数据
在第二步中,选择了GsonFormat后,会弹出一个数据转换的提示框,把我们要转换的json数据复制进去,点击OK键即可。当然你也可以通过Setting按钮对数据转换进行设置。如图:
点击OK键后,弹出数据格式设置提示框:
点击图右下角的OK键,对应地实体类就生成了:
public class TextGsonBean {
/**
* reason : 查询成功
* result : {"update":"2016-07-22 10:32:31","list":[["美元","100","665.63","660.3","668.3","666.69"],["港币","100","85.83","85.14","86.15","85.96"],["日元","100","6.2771","6.0834","6.3211","6.3014"],["欧元","100","732.74","710.13","737.88","735.79"],["英镑","100","879.28","852.15","885.46","879.01"]]}
* error_code : 0
*/
private String reason;
private ResultEntity result;
private int error_code;
public void setReason(String reason) {
this.reason = reason;
}
public void setResult(ResultEntity result) {
this.result = result;
}
public void setError_code(int error_code) {
this.error_code = error_code;
}
public String getReason() {
return reason;
}
public ResultEntity getResult() {
return result;
}
public int getError_code() {
return error_code;
}
public static class ResultEntity {
/**
* update : 2016-07-22 10:32:31
* list : [["美元","100","665.63","660.3","668.3","666.69"],["港币","100","85.83","85.14","86.15","85.96"],["日元","100","6.2771","6.0834","6.3211","6.3014"],["欧元","100","732.74","710.13","737.88","735.79"],["英镑","100","879.28","852.15","885.46","879.01"]]
*/
private String update;
private List<List<String>> list;
public void setUpdate(String update) {
this.update = update;
}
public void setList(List<List<String>> list) {
this.list = list;
}
public String getUpdate() {
return update;
}
public List<List<String>> getList() {
return list;
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
是不是非常方便呢?赶紧试试吧,我使用的测试json数据是直接在网上找的数据,json数据内容如下:
{
"reason": "查询成功",
"result": {
"update": "2016-07-22 10:32:31",
"list": [
[
"美元", /*货币名称*/
"100", /*交易单位*/
"665.63", /*现汇买入价*/
"660.3", /*现钞买入价*/
"668.3", /*现钞卖出价*/
"666.69" /*中行折算价*/
],
[
"港币",
"100",
"85.83",
"85.14",
"86.15",
"85.96"
],
[
"日元",
"100",
"6.2771",
"6.0834",
"6.3211",
"6.3014"
],
[
"欧元",
"100",
"732.74",
"710.13",
"737.88",
"735.79"
],
[
"英镑",
"100",
"879.28",
"852.15",
"885.46",
"879.01"
]
]
},
"error_code": 0
}