html调用http接口返回json,httpClient调用接口的时候,解析返回报文内容

比如我httpclient调用的接口返回的格式是这样的:

一:data里是个对象

{

"code": 200,

"message": "执行成功",

"data": {

"userId": 1,

"userName": "Jamie",

"roles": "admin",

"realName": "测试人员",

"tel": "13651046002",

"email": "12345@qq.com",

"enabled": true

}

}

1.添加pom依赖

org.projectlombok

lombok

true

com.alibaba

fastjson

1.2.58

2.定义一个返回报文实体

/**

* @author: sujing

* @version: 1.0.0

* @ClassName: Return.java

* @date: 2019/10/11 16:24

* 返回报文封装

*/

@Data

public class Return {

String code;

String message;

T data;

public Return() {

}

public Return(String code, String message) {

this.code = code;

this.message = message;

}

public Return(String code, String message, T data) {

this.code = code;

this.message = message;

this.data = data;

}

}

3.解析httpclient返回的参数

//httpClient调用接口,返回String字符串

String httpClientReturn = HttpClientUtil.get("http://xxxxx:9099/jwtauthsvr/api/getUserInfoByName", request.getHeader("Authorization"));

//转成JsonObject

JSONObject UserInfoReturn = JSON.parseObject(httpClientReturn);

//转成自定义Return报文对象

Return returnMsg = JSON.toJavaObject(UserInfoReturn, Return.class);

//获取报文里data参数

String JSONData = JSON.toJSONString(returnMsg.getData());

//转成UserInfo对象

UserInfo userInfo = JSON.parseObject(JSONData, UserInfo.class);

二:data里是个集合

{

"code": 200,

"message": "success",

"data": {

"total": 16,

"list": [

{

"userId": 1,

"userName": "Jamie",

"roles": "admin",

"realName": "测试人员",

"tel": "13651046002",

"email": "12345@qq.com",

"idCard": "1111111111",

"enabled": true,

"relType": 0,

"relId": 111098,

"password": "xxx",

"registrationTime": "2019-08-04 20:35:44",

"updateTime": "2019-08-04 20:35:44"

},

{

"userId": 2,

"userName": "Bruce",

"roles": "admin",

"realName": "测试人员2",

"tel": "13651046888",

"email": "wwee@qq.com",

"idCard": "370214199555555555",

"enabled": true,

"relType": 0,

"relId": 111099,

"password": "xxx",

"registrationTime": "2019-08-04 20:50:15",

"updateTime": "2019-08-04 20:50:15"

}

],

"pageNum": 1,

"pageSize": 25,

"size": 16,

"startRow": 1,

"endRow": 16,

"pages": 1,

"prePage": 0,

"nextPage": 0,

"isFirstPage": true,

"isLastPage": true,

"hasPreviousPage": false,

"hasNextPage": false,

"navigatePages": 8,

"navigatepageNums": [

1

],

"navigateFirstPage": 1,

"navigateLastPage": 1,

"firstPage": 1,

"lastPage": 1

}

}

1.解析httpclient返回的参数

//httpClient调用接口,返回String字符串

String httpClientReturn = HttpClientUtil.get("http://xxxxx:9099/jwtauthsvr/api/getUserInfoByName", request.getHeader("Authorization"));

//转成JsonObject

JSONObject UserInfoReturn = JSON.parseObject(httpClientReturn);

//获取返回报文格式

Return returnMsg = JSON.toJavaObject(UserInfoReturn, Return.class);

//获取报文里data参数

String JSONData = JSON.toJSONString(returnMsg.getData());

//获取data里的list

List userInfoList = JSON.parseObject(JSONData, new TypeReference>() {});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值