GitHub 开源框架 json 解析
Gson 解析 json 简单使用
json 格式数据相对 xml 数据,可读性与可操作性更高,工作共请求服务器也返回json数据,使用 Gson 解析较多,记录下Gson 简单使用流程;
image.png请求服务器,返回如下 json
数据
生成对应 JavaBean 文件,使用Android Studio 插件 GsonFormat 自动生成对应bean文件
注意:JavaBean 中字段大小写必须与返回Gson中字段保持一致;
public class ResponseBean {
/**
* msg : 请求成功
* code : 0
*/
private String msg;
private int code;
private List<DataBean> data;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public List<DataBean> getData() {
return data;
}
public void setData(List<DataBean> data) {
this.data = data;
}
public static class DataBean {
private String name;
private String url;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}
}
解析服务器返回 gson文件
Demo 请求采用 **okhttp3 post ** 请求
OkHttpClient mOkHttpClient = new OkHttpClient();
RequestBody requestBodyPost = new FormBody.Builder()
.add("customerid", getCustomerid())
.add("devicetypeid", getDeviceTypeId())
.build();
Request request = new Request.Builder().url(url).post(requestBodyPost).build();
// 异步请求
mOkHttpClient.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if (response.isSuccessful()){
Gson mGson = new Gson();
ResponseBean responseBean = mGson.fromJson(response.body().string(), ResponseBean.class)
}
}
});
网友评论