gson有序的解析json数据

2017-04-08  本文已影响0人  程序猿isMe

首先引用gson库到程序中


Gson的GitHub地址

也可以直接使用

compile 'com.google.code.gson:gson:2.8.0'

目前最新的,请及时更新。。。


好了不多说了,进入正题

JsonObject object = (JsonObject) new JsonParser().parse(json);
JsonObject body = object.getAsJsonObject("Body");

这是将json数据直接转换成有序的JsonObject,之前试了fastjson,没有找到解决无序的问题(水平比较有限😭),尝试用了gson,果然还是gson比较好用😄


到这里差不多就结束了,由于服务器返回的json是不固定的所以,并且显示时是key和value都需要的,所以,我将body转换成LinkedHashMap后在转换成List,保证解析是有序的

String bodyJson = body.toString();
List<DetailEntity> list = new ArrayList<>();
        Gson gson = new Gson();
        LinkedHashMap<String, String> map = gson.fromJson(bodyJson, new TypeToken<LinkedHashMap<String, String>>() {
        }.getType());
        
        Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
        while (it.hasNext()) {
            Map.Entry<String, String> entry = it.next();
            if (!"".equals(entry.getValue())) {
                Entity entity = new Entity();
                entity.mKey = entry.getKey();
                entity.mValue = entry.getValue();
                list.add(entity);
            }
        }
上一篇下一篇

猜你喜欢

热点阅读