首先引用gson库到程序中
也可以直接使用
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);
}
}