需求:动态获取其他网站的数据,获取得到的数据是json格式数据,数据格式不定,所以得动态生成数据表将数据插入数据库,使用框架为mybatis
列表数据如下
{
"rtnCode": "000000",
"rtnMsg": "success",
"data": {
"totalPage": "1",
"totalSize": "1",
"list": [
{
"name": "xxx",
"idCard": "35xxxxxxxxxxxxxxxx",
"guideNum": "D-3522-001332",
"gender": "女",
"rank": "初级",
"date": "2017-12-08",
"approver": "xxx",
"id": "1886351"
}
]
}
}
详情数据如下
{
"rtnCode": "000000",
"rtnMsg": "success",
"data": {
"name": "xxx",
"gender": "女",
"spell": " ",
"birthday": "1991-05-12",
"idCard": "35xxxxxxxxxxxxxxxxxxxx",
"validDate": "",
"guideNum": "D-3522-001332",
"qualificationCode": "DZG2006JXXXX",
"randAndLanguage": " 普通话--初级 ",
"nation": "汉族",
"tel": "134xxxxxxxx",
"organization": "xx市旅游协会导游工作部门",
"touristAdministration": "xx市旅游发展委员会",
"photo_front": "http://xxx.com/upload_a137919f030f8458761d202c468f2c2c.jpg",
"photo_reverse": "http://xxx.com/upload_f94f8ca17c9078a82180e4f99b4ce854.jpg",
"photo": "http://xxx.com/upload_d790b665898f74c39e8515e645857d3a.jpg",
"result": "通过",
"approver": "xxx",
"company": "xx市旅游发展委员会"
}
}
解析Json(请求到的数据假设最多只有三级,只处理到三级)
String st = Post.sendHtpps("aaaaaa",taskConfig.getTask_api());
if(st!=null) {
JSONObject json1 = JSONObject.parseObject(st);
String code=json1.getString("rtnCode");
if("900003".equals(code)) {
String rtnCode="";
String rtn="";
for(int i=0;i<3;i++) {
rtn=loginConfigService.requestLoginConfig(taskConfig.getLogin_config_id());
if(rtn!=null) {
JSONObject json = JSONObject.parseObject(rtn);
//获取item,得到json数组
rtnCode=json.getString("rtnCode");
System.out.println("正在重新登录。。。"+rtnCode);
if("000000".equals(rtnCode)) {
task(taskConfig);
break;
}
}
}
}
else

本文介绍了一种动态获取JSON数据并将其转换为数据库表的方法,使用MyBatis框架实现动态建表和数据插入,适用于不确定数据格式的情况。
最低0.47元/天 解锁文章
8387

被折叠的 条评论
为什么被折叠?



