精华内容
下载资源
问答
  • Gson解析嵌套list

    2020-04-25 17:10:37
    参考:使用Gson解析复杂的json数据 Json串 "INPUTCOLLECTION_ITEM": [{ "COOPERATION_COMPANY_TYPE": "1", "COOPERATION_COMPANY_FAX": "", "COOPERATION_COMPANY_CODE": "9", "PROVINCE_CODE": "",...

    参考:使用Gson解析复杂的json数据

    Json串

    "INPUTCOLLECTION_ITEM": [{
    				"COOPERATION_COMPANY_TYPE": "1",
    				"COOPERATION_COMPANY_FAX": "",
    				"COOPERATION_COMPANY_CODE": "9",
    				"PROVINCE_CODE": "",
    				"COOPERATION_COMPANY_NAME": "公司9",
    				"CHANGE_TYPE": "0",
    				"REGISTER_ADDRESS": "科技城",
    				"COMPANY_NAME": "公司",
    				"PRI_KEY": "1242438052665499650",
    				"COOPERATION_COMPANY_ID": "1242438052665499650",
    				"COMPANY_CODE": "00230000000000000000",
    				"COOPERATION_STATUS": 1,
    				"BEFORE_NAME": "曾用名",
    				"LEGAL_REPRE": "孙某某",
    				"DATA_COLLECTION": {
    					"DATA_COLLECTION_ITEM": [{
    						"CHANGE_TYPE": "0",
    						"COOPERATION_PERSON_LOGIN": "ceshiceshi_",
    						"COMPANY_NAME": "公司",
    						"COOPERATION_PERSON_ID": "1242438052728414210",
    						"PERSON_ROLE_COLLECTION": {
    							"PERSON_ROLE_COLLECTION_ITEM": [{
    								"CHANGE_TYPE": "0",
    								"ROLE_NAME": "合作单位综合员",
    								"ERP_ORG_ID": "191",
    								"ROLE_CODE": "HZHB-ZHY",
    								"ERP_ORG_NAME": "OU_JS_302310_江苏"
    							}]
    						},
    						"COOPERATION_PERSON_PWD": "Qwer1234!",
    						"COMPANY_CODE": "00230000000000000000",
    						"COOPERATION_COMPANY_CODE": "9",
    						"COOPERATION_PERSON_NAME": "婕拉",
    						"COOPERATION_COMPANY_NAME": "公司"
    					}]
    				}
    			},
    			{
    				"COOPERATION_COMPANY_TYPE": "1",
    				"COOPERATION_COMPANY_FAX": "",
    				"COOPERATION_COMPANY_CODE": "9",
    				"PROVINCE_CODE": "",
    				"COOPERATION_COMPANY_NAME": "公司",
    				"CHANGE_TYPE": "0",
    				"REGISTER_ADDRESS": "市科技城",
    				"COMPANY_NAME": "江苏公司",
    				"PRI_KEY": "1242438052665499650",
    				"COOPERATION_COMPANY_ID": "1242438052665499650",
    				"COMPANY_CODE": "00230000000000000000",
    				"COOPERATION_STATUS": 1,
    				"BEFORE_NAME": "曾用名",
    				"LEGAL_REPRE": "孙某某",
    				"DATA_COLLECTION": {
    					"DATA_COLLECTION_ITEM": [{
    						"CHANGE_TYPE": "0",
    						"COOPERATION_PERSON_LOGIN": "ceshiceshi_",
    						"COMPANY_NAME": "江苏公司",
    						"COOPERATION_PERSON_ID": "1242438052728414210",
    						"PERSON_ROLE_COLLECTION": {
    							"PERSON_ROLE_COLLECTION_ITEM": [{
    								"CHANGE_TYPE": "0",
    								"ROLE_NAME": "合作",
    								"ERP_ORG_ID": "191",
    								"ROLE_CODE": "HZHB-ZHY",
    								"ERP_ORG_NAME": "OU_JS_302310_江苏"
    							}]
    						},
    						"COOPERATION_PERSON_PWD": "Qwer1234!",
    						"COMPANY_CODE": "00230000000000000000",
    						"COOPERATION_COMPANY_CODE": "9",
    						"COOPERATION_PERSON_NAME": "婕拉",
    						"COOPERATION_COMPANY_NAME": "公司9"
    					}]
    				}
    			}
    			]
    

    类的嵌套图:

    在这里插入图片描述

    展开全文
  • Gson解析含有list集合的json字符串

    千次阅读 2019-07-18 18:03:39
    第二层“Data”下的“BatchNo”与List集合的 “Result” 第三层: “SKU” , “Success”, “Fail” 那么,我们就需要建立三个类 类1: public class JsonBean { private Data data; private String code; ...

    json字符串样式:
    {
    “Data” : {
    “BatchNo” : “30922592”,
    “Result” : [
    {
    “SKU” : “1703117944”,
    “Success” : 1,
    “Fail” : 1
    },
    {
    “SKU” : “1703117912”,
    “Success” : 1,
    “Fail” : 0
    },
    {
    “SKU” : “1703117913”,
    “Success” : 2,
    “Fail” : 1
    }
    ]
    },
    “Code” : “200”,
    “Meta” : “success”
    }
    解析以上字符串,首先分析:
    此json字符串 分为三层结构:
    最外层为:“Data”,“Code”,“Meta”
    第二层为“Data”下的“BatchNo”与List集合的 “Result”
    第三层为: “SKU” , “Success”, “Fail”
    那么,我们就需要建立三个类
    类1:
    public class JsonBean {
    private Data data;
    private String code;
    private String meta;
    (get/set方法请自行添加)
    }
    类2:
    public class Data{
    private String BatchNo;
    private List result;
    (get/set方法请自行添加)
    }
    类3:
    public class Result{
    private String SKU;
    private String Success;
    private String Fail;
    (get/set方法请自行添加)
    }

    主方法:

        public static void main(String[] args) {
        String str = "Json字符串(上面已经给格式,就不在这里拼了)"
    	Gson gson = new Gson();  //创建Gson对象
    	//将Json字符串转换为jsonBean 实体类
    	JsonBean  jsonBean = gson.fromJson(str , JsonBean  .class); 
    	//解析第一层的Json
    	Data data = jsonBean .getData();    
    	String code = jsonBean .getCode();
    	String meta = jsonBean.getMeta();
    	//解析第二层的Json
    	String batchNo = data .getBatchNo();
    	List<Result>  list= data.getResult();
    	//解析第三层的Json
    	for(int i=0;i<list.size();i++){
    	Result result = new Result();
    	result.setSKU(list.get(i).getSKU());
    	result.setSuccess(list.get(i).getSuccess());
    	result.setFail(list.get(i).getFail());
    	}
    	
    	//此时含有三层的Json数据就已经解析完成了
    }
    
    展开全文
  • Gson解析list

    千次阅读 2019-01-22 11:01:06
    List<User> list = gson.fromJson(result, type); //打印测试 for(User i:list){ System.out.println(i.getName()); } 输出: 威震天 测试 封装一: public static <T> List<T> jsonToList(String...

    方法原理:

    String result = "[{\"id\":1,\"departmentId\":null,\"name\":\"威震天\",\"mobile\":\"13011111111\",\"telephone\":\"80000000\",\"gender\":1,\"email\":\"578514363@qq.com\",\"position\":\"产品\",\"enable\":1},{\"id\":2,\"departmentId\":null,\"name\":\"测试\",\"mobile\":\"13000000000\",\"telephone\":\"811111111\",\"gender\":2,\"email\":\"555555555@qq.com\",\"position\":\"前端工程师\",\"enable\":1}]";
    
    Gson gson=new Gson();
    Type type = new TypeToken<ArrayList<User>>(){}.getType();
    List<User> list = gson.fromJson(result, type);
    
    //打印测试
    for(User i:list){
        System.out.println(i.getName());
    }

    输出:

    威震天
    测试

    封装一:

    public static <T> List<T> jsonToList(String s, Class<T[]> cls) {
            T[] arr = new Gson().fromJson(s, cls);
            return Arrays.asList(arr);
        }

    调用:

    List<User> list = jsonToList(result,User[].class);

    封装二:

    public static <T> List<T> jsonToList(String json, Class<T> cls) {
            List<T> list = new ArrayList<T>();
            JsonArray array = new JsonParser().parse(json).getAsJsonArray();
            for(final JsonElement elem : array){
                list.add(new Gson().fromJson(elem, cls));
            }
            return list;
        }

    调用:

    List<User> list = jsonToList(result,User.class);

     

    展开全文
  • 常用的是列表解析,以前不知道解析map,就用json配合gson使用,今天在论坛看到有人问,就试了一下才发现 解析map也很方便,哇喔,又涨姿势了.. [java] view plain copy public class jsonParse...

    主要解析 两种格式 列表格式 和 map格式

    常用的是列表解析,以前不知道解析map,就用json配合gson使用,今天在论坛看到有人问,就试了一下才发现 解析map也很方便,哇喔,又涨姿势了..


    1. public class jsonParse{  
    2.   
    3.           
    4.   
    5. class City{  
    6.   
    7.         int id;  
    8.   
    9.         String name;  
    10.   
    11.         String code;  
    12.   
    13.         String map;  
    14.   
    15. }  
    16.   
    17.           
    18.   
    19.           
    20.   
    21. public static void main(String[] args) {  
    22.   
    23.         //列表/array 数据  
    24.   
    25.                  String str="[{'id': '1','code': 'bj','name': '北京','map': '39.90403, 116.40752599999996'}, {'id': '2','code': 'sz','name': '深圳','map': '22.543099, 114.05786799999998'}, {'id': '9','code': 'sh','name': '上海','map': '31.230393,121.473704'}, {'id': '10','code': 'gz','name': '广州','map': '23.129163,113.26443500000005'}]";  
    26.   
    27.         Gson gson=new Gson();  
    28.   
    29.         List<City> rs=new ArrayList<City>();  
    30.   
    31.          Type type = new TypeToken<ArrayList<City>>() {}.getType();  
    32.   
    33.           rs=gson.fromJson(str, type);  
    34.   
    35.           for(City o:rs){  
    36.   
    37.                   System.out.println(o.name);  
    38.   
    39.           }  
    40.   
    41.             
    42.   
    43.           //map数据  
    44.   
    45.           String jsonStr="{'1': {'id': '1','code': 'bj','name': '北京','map': '39.90403, 116.40752599999996'},'2': {'id': '2','code': 'sz','name': '深圳','map': '22.543099, 114.05786799999998'},'9': {'id': '9','code': 'sh','name': '上海','map': '31.230393,121.473704'},'10': {'id': '10','code': 'gz','name': '广州','map': '23.129163,113.26443500000005'}}";  
    46.   
    47.           Map<String, City> citys = gson.fromJson(jsonStr, new TypeToken<Map<String, City>>() {}.getType());   
    48.   
    49.           System.out.println(citys.get("1").name+"----------"+citys.get("2").code);  
    50.   
    51. }  
    52.   
    53.   
    54.   

    展开全文
  • Gson解析List为空应如何解决

    万次阅读 2015-10-16 09:34:08
    前面是我遇到的问题,后面是解决方法 服务器端发送数据: AnliDataDao anliDao=new AnliDataDao(); List anlilist; String jsonString=""; ... anlilist = anliDao.queryAnli();... Gson gson = new Gso
  • Gson解析List<对象>指定泛型类 假设有class Params{} List params = gson.fromJson(jsonStr, new TypeToken<List>() {}.getType());
  • Gson解析List和Map

    2019-08-19 10:55:43
    Gson gson=new Gson(); List<RepairtArtificerBean> repairtArtificerBeanList = gson.fromJson(result, new TypeToken<List<RepairtArtificerBean>>() {}.getType());...
  • Gson解析容错框架 云地址: Gradle集成 dependencies { // Gson 解析容错:https://github.com/getActivity/GsonFactory implementation ' com.hjq.gson:factory:5.0 ' // Json 解析框架:...
  • 前言:看了好多gson解析多层json的博客都不尽如人意,都在jsonbean这就结束了,我想要后面将json转换成对象的部分啊 于是自己动手丰衣足食,我终于让我在庞大的云盘库里找到了,开心。但是我还是不熟悉多层,我多...
  • Gson 解析数组、集合

    2021-04-24 17:35:25
    首先用Gson解析实体类好办,直接用 new Gson().fromJson(jsonString,object.class); 但是如果我们想要解析,一个 String[] 类型的数组能显然用如下代码,是解析不出来的。 new Gson().fromJson(jsonString,...
  • GSON解析list

    2015-11-26 10:18:42
    GSONList代码示例: List modelList = gson.fromJson(json串, new TypeToken>(){}.getType()); for(int i = 0; i   System.out.println(modelList.get(i)); }
  • import java.lang.reflect.Type; import java.util.List; import com.google.gson.Gson; ...import com.google.gson.reflect.TypeToken;...public class Json解析List { public static void main(String[...
  • 这阵子在使用gson解析时遇到了点小麻烦,因为一直用的fastjson,最近一个项目里使用的gson,需要解析list集合,查资料都是使用TypeToken解决,相对比较麻烦,下面大伙推荐一种简便的方法。 Object ...
  • W/System.err: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 2 path $ at com.google.gson.Gson.fromJson(Gson.java:944) at ...
  • 使用GSON解析JSON数据

    千次阅读 2019-07-18 15:51:30
    GSON是谷歌提供的一个开源库,可以用来解析JSON数据 不过GSON并没有被添加到Android官方的API中,所以如果要使用这个开源库,我们就要先添加依赖,编辑app/build.gradle文件,在dependencies闭包中添加如下内容: ...
  • Gson gson = new Gson(); Type type = new TypeToken<List<Object>>() {}.getType();... list = gson.fromJson(string, type); 转载于:https://www.cnblogs.com/zhangzhiqin/p/9580...
  • Kotlin使用gson解析集合

    2020-12-18 16:19:08
    错误写法:val list = Gson().fromJson(集合字符串, ArrayList<T>()::class.java) 正确写法:val list = Gson().fromJson(集合字符串, object : TypeToken<ArrayList<T>>() {}.type)
  • android Gson转换List集合demo,生成Json字符串,转换为List,对象
  • 今天在做kotlin练习的时候,代码中转换原来JAVA解析JSON获取数据集合的问题上卡主了,百度了下只查到Kotlin 用GOSN解析单个对向,没有发现解析数字的问题,遂Google了下,查到代码。类似如下{"data": [{&...
  • 欸,最近遇到存储的数据不空,然后解析出来的数据null的情况,真是坑的一逼!这时候就不用质疑是数据的问题了 1.直接去看存储时给的对应key和拿取缓存数据时的key是否对应 2.存储时放的对象是否与解析是传的...
  • 全国省市区数据,json数组表示,kotlin使用GSON一句即可解析, val chinaLocations: MutableList<ChinaLocation> = Gson().fromJson(InputStreamReader(inputStream), object : TypeToken<List<ChinaLocation>>() {}...
  • java Gson转为list集合

    2019-01-28 23:31:00
    List<ExpressStatusVO> listVO = Arrays.asList(array); Map, Object> map = new HashMap, Object>(); map.put("list", listVO); return map; } 返还的对象: "list": [ { "ftime": "2017-11-...
  • 我定义为List<T> t,解析失败了,调试的时候显示null,然而把List换成 object以后解析成功了,调试栏显示 ArrayList。。。请问是问什么?还有如果解析出来,要怎么写代码取得List中的某个字段的值?
  • Gson解析json字符串,并封装成List<T>

    千次阅读 2015-05-14 14:49:25
    最近一个项目中,需要将从服务器上获取到的JSON字符串转换对象,大概研究了一下,发现在项目中很多地方都要用到,而且有的时候需要返回的是一个集合,所以写了个方法,留着自用。 public class JsonUtils { /** ...
  • 泛型的本质是参数化类型,也就是说所操作的数据类型被指定一个参数。 2)泛型使用 泛型使用方式,分别:泛型类、泛型接口、泛型方法。 ①泛型类,泛型类的声明和非泛型类的声明类似,除了在类名后面添加了...
  • Gson解析数组和list容器

    千次阅读 2015-08-14 10:19:23
    Gson解析数组和list容器 使用Gson解析首先需要加入架包文件:gson-2.2.4.jar 定义一个类Student: public class Student { String name="xiao"; String sex="男"; } 定义Java文件: public class ...
  • 使用Gson解析JsonMap对象探索(下)下面来说说其中出现的问题1.如何获取一个list列表1.1首先是数据格式 1.2处理成列表的代码com.google.gson.Gson gson = new com.google.gson.Gson(); // 先转换成Map对象 Map,...
  • Gson解析String数据

    2019-10-21 09:58:57
    Gson 介绍 Gson(又称Google Gson)是Google公司发布的一个开放源代码的Java库,主要用途序列化Java对象JSON字符串,或反序列化JSON字符串成Java对象。
  • Android 使用gson解析接口数据 简要 据上一篇简述OkHttp的post请求方法,在总结那简单说了一下怎样获取数据后再赋值到页面上,现在展开说一下。 xml代码如下: <?xml version="1.0" encoding="utf-8"?> <...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,205
精华内容 8,082
关键字:

gson解析为list