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

作者: dongbingliu | 来源:发表于2017-06-27 15:08 被阅读142次
    image.png

    GitHub 开源框架 json 解析

    Gson 解析 json 简单使用

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

    image.png

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

    image.png

    生成对应 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)
                    }
                }
            });
    

    相关文章

      网友评论

        本文标题:【 开源框架 】Gson 简单使用01(json解析)

        本文链接:https://www.haomeiwen.com/subject/mikecxtx.html