刚研究JSON的小白,遇到一个解析JSON的问题,
网上找资料做测试怎么都不出来数据,
下面是这个JSON,只能用传统的方式解析,但是本人希望用GSON来解析
{“DataJSon”:[{“JobNumber”:”8652″,”Name”:”张三”,”Status”:”上班”,”Factory”:”集团有限公司”}]}
网上找资料做测试怎么都不出来数据,
下面是这个JSON,只能用传统的方式解析,但是本人希望用GSON来解析
{“DataJSon”:[{“JobNumber”:”8652″,”Name”:”张三”,”Status”:”上班”,”Factory”:”集团有限公司”}]}
解决方案
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文件
1、安装完毕之后,新建一个实体类,然后把json字符串复制后,在类编辑面板中Alt+insert键调出菜单,选择GsonFormat,将复制的json字符串粘贴,生成即可。
2、然后导入gson解析框架,new Gson().from(String jsonStr,Clazz.class)。第一个传入json字符串,第二个参数就是刚刚新建的实体类.class文件