Java接收返回json数据中data⾥的值还是上周写SSO的时候,接收登录服务器中的json数据⾥的值的解决过程
对接接⼝返回的数据格式:
{
"success":true,
"errorCode":0,
"data":{
"userId":"93ea76e2-2755-4ada-aef1-889ae0d6e158",
"loginName":"test",
"mobiles":[
],
"roles":[
],
"passwordUpdateTime":1538033566000
},
"message":null
}
需要取到success和data中userId和loginName
json值的类型有哪些1、⾸先接收整段json数据,将接收到的json数据转为String类型,直接⽤String接收json转 的 seccess数据
2、将data再次转为单独的json数据,然后再次⽤String类型接收data转回的json数据即可
代码:
String map =this.httpsClients.doGet(checkUserUrl,"", params);
if(StringUtils.isEmpty(map)){
return loginVo;
}
JSONObject json = JSONObject.parseObject(map);//接收到所有传过来的json数据
Boolean success = Boolean("success");//直接json转Boolean类型,⽤Boolean类型的success接收叫做success的数据
String  data = String("data");//⽤String接收json数据中的data数据
JSONObject dataj = JSONObject.parseObject(data);//再将data转为单独的json数据
String userId = String("userId");//再次将data转为String数据并接收
String loginName = String("loginName");
这种被包含多层的数据需要多次转String转json再转String操作
因为数据debugger得在测试环境才能获取到那唯⼀的token,token⽤了⼀次之后就⽤不了了,所以不能上图,不然直接将debugger的过程数据放上⾯更直观

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。