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

作者: 萧胜天_ | 来源:发表于2018-12-05 19:35 被阅读28次

前言

项目中遇到一种超级恶心的事情,后台返回数据类型不固定,有数据时是个对象,没数据时返回的是“”。
这个时候如果定义成对象,使用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);
完美解决

总结

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

相关文章

网友评论

  • 30d510f59682:打死后台,是后台经验的问题
    萧胜天_:@cbbs 打死后台,是我们的经验所得😬

本文标题:后台返回数据不固定解决方案

本文链接:https://www.haomeiwen.com/subject/llowcqtx.html