首页 > 代码库 > 用fastjson 结局了 gson 泛型 类型 对应的不上的问题。。
用fastjson 结局了 gson 泛型 类型 对应的不上的问题。。
解析 json一直用gson
突然出现了这个问题
类是这样的 很简单 但每个类都没有关联性
这样写代码太垃圾了。。复用性在哪里。。
所以打算用一个通用的方法 ,网上查 自己写 出现啦这三种方法
public static <T> List<T> getList(String jsonString, Class<T> cls) { List<T> list = new ArrayList<T>(); try { Gson gson = new Gson(); if (jsonString != null && jsonString.length() > 0) { list.add((T) gson.fromJson(jsonString, new TypeToken<List<T>>() { }.getType())); } } catch (Exception e) { } return list; } public static <T> T getPerson(String jsonString, Class<T> cls) { T t = null; try { Gson gson = new Gson(); t = gson.fromJson(jsonString, cls); } catch (Exception e) { // TODO: handle exception } return t; } public static <T> List<T> getListType(Class<T> clazz, String json) { Type type = new TypeToken<List<T>>() { }.getType(); Gson gson = new Gson(); List<T> list = gson.fromJson(json, type); return list; }
主函数调用方法是这样的
List<PlayItem> l = Gsons.getList(json, PlayItem.class); System.out.println("l.getsize:" + l.size()); System.out.println("l.getname" + l.get(0).getChannelName());可以确定json是完全没问题的。。完全可用。
报错如下
可见 是 得到了这个数组 但是 对应关系 有问题。。一直不知道怎么解决 有大神看到 请帮我解决一下
下面是 fastjson解决了这个问题
http://download.csdn.net/detail/wanghao200906/8262245地址
只用这一句代码就可以了
List<PlayItem> plist = JSON.parseArray(json, PlayItem.class);
当然了那个gson泛型解析的问题 依然没有解决 希望有知道的告诉我
用fastjson 结局了 gson 泛型 类型 对应的不上的问题。。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。