json转list实现方案

来源:互联网 发布:英雄杀今天探宝数据 编辑:程序博客网 时间:2024/05/22 03:38
废话不多说,直接上代码:

需要转换的为list的json代码:

[{"id":104,"mid":16,"up_count":103,"count_date":"2016-08-15","name":"荼丸","fans":18006,"contributes":2,"last_contribute_id":3905532,"last_contribute_name":"【2016拜年祭单品】站娘Collection(上)","last_contribute_time":"2016-02-22 08:00:00"},{"id":105,"mid":18,"up_count":104,"count_date":"2016-08-15","name":"暁の赤月","fans":468,"contributes":1,"last_contribute_id":654,"last_contribute_name":"【NDS】节奏天国LOLI与猴子附真人对比版","last_contribute_time":"2009-10-15 15:54:47"},{"id":106,"mid":20,"up_count":105,"count_date":"2016-08-15","name":"恶魔晓月曲","fans":2849,"contributes":1,"last_contribute_id":39,"last_contribute_name":"坚持下去吧","last_contribute_time":"2009-07-13 07:35:51"},{"id":107,"mid":24,"up_count":106,"count_date":"2016-08-15","name":"不思議","fans":2252,"contributes":11,"last_contribute_id":824467,"last_contribute_name":"『逆転裁判5』Soundtrack192k","last_contribute_time":"2013-11-06 20:51:23"},{"id":108,"mid":32,"up_count":107,"count_date":"2016-08-15","name":"一条黑黑","fans":422,"contributes":1,"last_contribute_id":743417,"last_contribute_name":"企鹅页游黑科技——英雄之刃","last_contribute_time":"2013-09-02 01:10:35"},{"id":109,"mid":37,"up_count":108,"count_date":"2016-08-15","name":"折射","fans":2458,"contributes":4,"last_contribute_id":4954037,"last_contribute_name":"[PV向?]少女与战车——OverPanzer","last_contribute_time":"2016-06-13 05:28:01"}]

采取方案:建需要填充至list中的实体bean,注意,最好将json对应的实体中的具有时间类型的字段改为String类型,譬如:last_contribute_time 字段的属性在bean中设为String,不然在转换时会抛出转换失败的异常

转换的工具代码:

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

调用代码:

List<BumFansUserInfo> fansList = JsonUtils.fromJson2Array(json, BumFansUserInfo.class);

经过此番转换便完成了json到list的转换

0 0
原创粉丝点击