GSON解析嵌套JSON数据

移动开发 码拜 4年前 (2016-09-11) 1079次浏览
刚研究JSON的小白,遇到一个解析JSON的问题,
网上找资料做测试怎么都不出来数据,
下面是这个JSON,只能用传统的方式解析,但是本人希望用GSON来解析
{“DataJSon”:[{“JobNumber”:”8652″,”Name”:”张三”,”Status”:”上班”,”Factory”:”集团有限公司”}]}
GSON解析嵌套JSON数据GSON解析嵌套JSON数据GSON解析嵌套JSON数据
解决方案

5

gson解析,需要定义对应的类,大致就是下面这种结构

public class DataBean {
     private List<dataEntity> DataJSon;
     //还需要getter and setter
     public class dataEntity {
          private String JobNumber;
          private String Name;
          private String Status;
          private String Factory;
          //还需要getter and setter
     }
}

然后用 new Gson().fromJson(jsonString, DataBean.class); 就可以解析成DataBean对象了。

10

import java.util.List;
public class test {
    /**
     * JobNumber : 8652
     * Name : 张三
     * Status : 上班
     * Factory : 集团有限公司
     */
    private List<DataJSonBean> DataJSon;
    public static test objectFromData(String str) {
        return new com.google.gson.Gson().fromJson(str, test.class);
    }
    public List<DataJSonBean> getDataJSon() {
        return DataJSon;
    }
    public void setDataJSon(List<DataJSonBean> DataJSon) {
        this.DataJSon = DataJSon;
    }
    public static class DataJSonBean {
        private String JobNumber;
        private String Name;
        private String Status;
        private String Factory;
        public static DataJSonBean objectFromData(String str) {
            return new com.google.gson.Gson().fromJson(str, DataJSonBean.class);
        }
        public String getJobNumber() {
            return JobNumber;
        }
        public void setJobNumber(String JobNumber) {
            this.JobNumber = JobNumber;
        }
        public String getName() {
            return Name;
        }
        public void setName(String Name) {
            this.Name = Name;
        }
        public String getStatus() {
            return Status;
        }
        public void setStatus(String Status) {
            this.Status = Status;
        }
        public String getFactory() {
            return Factory;
        }
        public void setFactory(String Factory) {
            this.Factory = Factory;
        }
    }
}

调用

    String s="{"DataJSon":[{"JobNumber":"8652","Name":"张三","Status":"上班","Factory":"集团有限公司"}]}";
   test data= test.objectFromData(s);

5

推荐一个Android studio的工具:GsonFormat
1、安装完毕之后,新建一个实体类,然后把json字符串复制后,在类编辑面板中Alt+insert键调出菜单,选择GsonFormat,将复制的json字符串粘贴,生成即可。
2、然后导入gson解析框架,new Gson().from(String jsonStr,Clazz.class)。第一个传入json字符串,第二个参数就是刚刚新建的实体类.class文件

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明GSON解析嵌套JSON数据
喜欢 (0)
[1034331897@qq.com]
分享 (0)