后台返回数据不固定解决方案

前言

项目中遇到一种超级恶心的事情,后台返回数据类型不固定,有数据时是个对象,没数据时返回的是“”。
这个时候如果定义成对象,使用gson框架解析会崩溃,想到一种解决方案,就是定义这个类型为object。
解析出类型后进行判断,如果有数据就转化成对象。

遇坑

这个时候获取到的数据返回类型是key-value LinkedTreeMap类型的,使用tostring 打印出来是{a=1,b=2}这种形式,完全没有办法转成对象。所以又了下面这个疑问?

gson.internal.LinkedTreeMap如何转化成javabean对象?

Gson gson = new GsonBuilder().enableComplexMapKeySerialization().create();
String jsonStr = gson.toJson(linkedTreeMap);
JavaBean bean = gson.fromJson(jsonStr,JavaBean.class);
完美解决

总结

真是坑,后台返回数据死活不改,只能这边解决,经历千辛万苦后终于解决了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容