5、springboot-数据获取及基本处理

本文记录了在SpringBoot项目中如何利用Fastjson处理从外部接口获取的大量JSON数据,通过RestTemplate获取数据,然后使用Fastjson进行简化处理,以提高传输效率。Fastjson是一个高性能的JSON库,支持将Java对象转换为JSON字符串,反之亦然,并提供了丰富的特性以适应复杂的对象结构。
摘要由CSDN通过智能技术生成

疫情大数据平台,后台首要的任务是从各种渠道获得数据及对获取后的数据进行处理,本篇对外部接口的数据获取及处理进行记录。

主要使用的是RestTemplate类进行获取

创建及使用

在启动类中加入

@Bean
public RestTemplate restTemplate() {
   
    return new RestTemplate();
}

在controller类中加入方法

ResponseEntity<String> responseEntity = restTemplate.getForEntity("https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5", String.class);

        String body = responseEntity.getBody();

body,即是所需数据

项目中使用到的部分代码

ResponseEntity<String> responseEntity = restTemplate.getForEntity("http://api.tianapi.com/ncovabroad/index?key=d6a7ec52f2c40ea0ed4e23beda8ea571", String.class);

 ResponseEntity<JSONObject> responseEntity = restTemplate.getForEntity("https://interface.sina.cn/news/wap/fymap2020_data.d.json", JSONObject.class);

对应返回的json数据量非常大,传输过程中非常耗时,需要进行简化,主要使用的就是fastjson来进行处理

Fastjson 特性

  • 提供服务器端、安卓客户端两种解析工具,性能表现较好。
  • 提供了 toJSONString() 和 parseObject() 方法来将 Java 对象与 JSON 相互转换。调用toJSONString方 法即可将对象转换成 JSON 字符串,parseObject 方法则反过来将 JSON 字符串转换成对象。
  • 允许转换预先存在的无法修改的对象(只有class、无源代码)。
  • Java泛型的广泛支持。
  • 允许对象的自定义表示、允许自定义序列化类。
  • 支持任意复杂对象(具有深厚的继承层次和广泛使用的泛型类型)。

maven依赖

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>x.x.x</version>
</dependency>

JSON转换

@Test
public void whenJavaList_thanConvertToJsonCorrect() {
   
    String jsonOutput= JSON.toJSONString(对象);
}

项目中后台的部分处理代码:

JSONObject jsonObject1 = responseEntity.getBody();
        JSONObject jsonObject2 = jsonObject1.getJSONObject("data");
        JSONArray jsonArray = jsonObject2.getJSONArray("list")</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值