Restful风格对象中获取数据并封装进实体类
当使用feign远程调用服务,返回值为Restful风格的值,信息参数以map的方式存进返回值中。单纯的r.get(“data”)不能直接转换成相对应的实体类。所以采用fastJson来进行json转换成实体类类型。JSONObject.parseObject(json,Class<>) 可以将json格式的数据自动封装进对应的实体类中。
踩坑提示
直接采用toString()方法,会报出com.alibaba.fastjson.JSONException: not match异常。
r.get("data").toString()
打印输出json串发现,json : {provinceId=1, provinceCode=110000, provinceName=北京市},缺少了双引号,引发了错误。所以采用JSON.toJSONString()进行字符串转化。
JSON.toJSONString(r.get("data"))
最终采用Object data = JSONObject.parseObject(r.get("data").toString(), Object.class);
完成对Restful风格的对象数据提取。