json转化总结
最近对接个老接口,返回的信息格式十分清奇,为此折腾了一会,简单记录下
先贴下这个接口返回的格式样子
在本地我使用idea的debug模式调试返回的信息,方式:进入debug模式,请求达到断点处,按组合键alt+f8出现调试框,直接在里面输入你想要的结果回车就行,出来结果。
贴下测试代码
// 这个是接收返回data里面放的是字符串形式的json信息
ResultVO<String> spacesResult = userFeignService.findSpaces(spaceIds);
- 方式1,硬转,没有dto接收的形式
// 直接获取字段data里面的信息,强制转成jsonObject形式
JSONObject jsonObject = JSON.parseObject(spacesResult.getData());
// 获取jsonObject形式里面字段名为spaceId的信息,且是jsonObject形式
JSONObject objectJSONObject = jsonObject.getJSONObject(String.valueOf(spaceId));
// 最后可直接获取字段下的信息了
String spaceName = objectJSONObject.getString("spaceName");
- 方式2,使用dto接收
ManageResDTO manageResDTO = JSON.parseObject(String.valueOf(jsonObject.get("data")),ManageResDTO.class);
- 补充还有要转接收的list
resultList = JSON.parseObject(String.valueOf(resultObject.get("data")), new TypeReference<List<CorpQueryCorpByPageResItemDTO>>(){});