【 开源框架 】Gson 简单使用01(json解析)

【 开源框架 】Gson 简单使用01(json解析)_第1张图片
image.png

GitHub 开源框架 json 解析

  • GitHub Fastjson : https://github.com/alibaba/fastjson
  • GitHub Gson: https://github.com/google/gson

Gson 解析 json 简单使用

json 格式数据相对 xml 数据,可读性与可操作性更高,工作共请求服务器也返回json数据,使用 Gson 解析较多,记录下Gson 简单使用流程;

【 开源框架 】Gson 简单使用01(json解析)_第2张图片
image.png

请求服务器,返回如下 json 数据

【 开源框架 】Gson 简单使用01(json解析)_第3张图片
image.png

生成对应 JavaBean 文件,使用Android Studio 插件 GsonFormat 自动生成对应bean文件
注意:JavaBean 中字段大小写必须与返回Gson中字段保持一致;

public class ResponseBean {


    /**
     * msg : 请求成功
     * code : 0
     */

    private String msg;
    private int code;
    private List 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 getData() {
        return data;
    }

    public void setData(List 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)
                }
            }
        });

你可能感兴趣的:(【 开源框架 】Gson 简单使用01(json解析))