feign获取JSONObject数据后的处理
先写两个获取解析结果的类
@Data
public class HttpResponse<T> {
private String msg;
private Integer code;
private HttpResult<T> result;
public T getData() {
if (null != result) {
return result.getData();
}
return null;
}
}
@Data
public class HttpResult<T> {
private T data;
private Long lastOperaTime;
}
使用service获取JSON格式的数据
JSONObject jsonobeject= basicService.getxxx();
根据格式取出想要的数据
public HashMap<Long, String> getXXX() {
JSONObject jsonobeject= basicService.getFactoryStruct();
HttpResponse<String> response = JSON.parseObject(jsonobeject.toString(), new TypeReference<HttpResponse<String>>() { });
String data = response.getData();
List<xxxVO> list= JSON.parseObject(data, new TypeReference<List<XXXVO>>() {
});
HashMap<Long, String> map= new HashMap<>();
//写入map
for (xxxVO entity : list) {
...
}
return map;
}
```
或者直接调取
//get为自定义函数
JSONObject jsonObject = xxxService.get(params);
JSONArray jsonObject1 = jsonObject.getJSONObject("result").getJSONObject("data").getJSONArray("list");
List<xxxVO> list = new ArrayList<>();
String str= JSON.toJSONString(jsonObject1);
List<xxxVO> list1 = JSON.parseArray(str ,xxxVO.class);
System.out.println(list1.toString());
注意vo的@data注解