【java调取第三方接口,获取数据并保存至数据库】

编程入门 行业动态 更新时间:2024-10-27 02:21:25

【java调取<a href=https://www.elefans.com/category/jswz/34/1770258.html style=第三方接口,获取数据并保存至数据库】"/>

【java调取第三方接口,获取数据并保存至数据库】

java调取第三方接口,获取数据并保存至数据库

@Overridepublic void doPost() {// 创建Httpclient对象CloseableHttpClient httpClient = HttpClients.createDefault();CloseableHttpResponse response = null;String resultString = "";String url = ":8080/xxx/xxx/xxx";SaveProjectDTO saveProjectDTO = new SaveProjectDTO();List<SaveProjectEntityDTO> list = new ArrayList<>();try {// 创建Http Post请求HttpPost httpPost = new HttpPost(url);httpPost.setHeader("Content-Type", "application/json;charset=utf-8");httpPost.setEntity(new StringEntity("{}"));// 执行http请求response = httpClient.execute(httpPost);//resultString 就是调取第三方接口后给的返回值resultString = EntityUtils.toString(response.getEntity(), "utf-8");//使用JSONObject.parseObject方法将字符串转化为SaveProjectDTO实体类(SaveProjectDTO类中的字段一定要对应返回值类型)saveProjectDTO = JSONObject.parseObject(resultString, SaveProjectDTO.class);//应为返回值中存在code,msg,success等信息,所以再使用JSONObject.parseArray方法将data中的数组取出来保存list = JSONObject.parseArray(saveProjectDTO.getData(),SaveProjectEntityDTO.class);List<FwqProject> fwqProjects = new ArrayList<>();for (SaveProjectEntityDTO saveProjectEntityDTO : list){FwqProject fwqProject = new FwqProject();fwqProject.setzId(saveProjectEntityDTO.getId());fwqProject.setName(saveProjectEntityDTO.getName());fwqProject.setStatus(saveProjectEntityDTO.getStatus());fwqProjects.add(fwqProject);}fwqProjectService.saveOrUpdateBatch(fwqProjects);} catch (Exception e) {e.printStackTrace();} finally {try {response.close();} catch (IOException e) {e.printStackTrace();}}}
@Testpublic void test1(){String text = "{\"mode\":\"满减打折\",\"details\":[{\"order\":0,\"discountPercent\":10,\"min\":0,\"max\":100},{\"order\":1,\"discountPercent\":15,\"min\":100,\"max\":500}]}";JSONObject jsonObject = JSONObject.parseObject(text);String arrayStr = jsonObject.getString("details");List<Discount> list = JSONObject.parseArray(arrayStr,Discount.class);for(Discount discount:list){System.out.println(discount.toString()+"-------------");}}@Testpublic void test2(){String text = "{\"mode\":\"满减打折\",\"details\":[{\"order\":0,\"discountPercent\":10,\"min\":0,\"max\":100},{\"order\":1,\"discountPercent\":15,\"min\":100,\"max\":500}]}";JSONObject jsonObject = JSONObject.parseObject(text);JSONArray jsonArray = jsonObject.getJSONArray("details");for(int i = 0; i< jsonArray.size(); i++){// 写法一:// Discount discount = (Discount) jsonArray.get(i);// 写法二:JSONObject json = jsonArray.getJSONObject(i);Discount discount = json.toJavaObject(Discount.class);System.out.println(discount.toString()+"------------------");}}

fastjson判断一个json是jsonArray还是jsonObject几种方式


```javaObject object = JSON.parse(dataStr);if (object instanceof JSONArray) {System.out.println("我是jsonArray");} else {System.out.println("我是jsonObject");}

更多推荐

【java调取第三方接口,获取数据并保存至数据库】

本文发布于:2023-12-06 11:17:08,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1667438.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:第三方   并保存   接口   数据库   数据

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!