2019-nCov疫情实时趋势数据可视化Echarts学习(2):获取API数据接口后数据的清洗、处理及JSON标准格式的输出

简介: 2019-nCov疫情实时趋势数据可视化Echarts学习(2):获取API数据接口后数据的清洗、处理及JSON标准格式的输出

首先感谢Vam的金豆之路提供《【免费开源】2020年独家全球疫情大数据接口(实时获取)》,见https://blog.csdn.net/qq_39045645/article/details/104227764


项目需求描述:

1.获取API后数据分析,是否可以直接调用?答案:否。

2.数据是否需要清洗?答案:是。

3.如何清洗获取的API数据?答案:如下。


首先JSON概念的的明确:


JSON 名称/值对

JSON 数据的书写格式是:名称/值对。名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:

"name" : "菜鸟教程"


JSON 对象

JSON 对象在大括号({})中书写,对象可以包含多个名称/值对:

{ "name":"菜鸟教程" , "url":"www.runoob.com" }


JSON 数组

JSON 数组在中括号中书写,数组可包含多个对象:

{ "sites": [ { "name":"菜鸟教程" , "url":"www.runoob.com" }, { "name":"google" , "url":"www.google.com" }, { "name":"微博" , "url":"www.weibo.com" } ] }


实际情况,我们都是在处理JSON数组,如果不是按照JSON标准格式来处理数据,会出现众多问题。这也是明确JSON概念的重要原因。


进入正文,下面是API数据处理的分解步骤:

一、用ajax获取数据源,并通过console.log查看数据:

    //使用$.get(),必须http服务器支持,无法本地访问;
    $.get('https://www.maomin.club/fy/get/', function (res, status) {
        /*1.读取数据,查看数据格式,按照需求进行数据清洗处理;*/
        console.log(res);
    })



为了提高效率,建议复制(copy)到自己熟悉的IDE中进行数据查看:



二、查看可知道,这是一组非标准的JSON数据,无法直接输出和调用,主要的问题集中在头部和尾部有描述性的代码。

头部代码:

var V = V || {};V.activity_name = "newpneumonia";V.page_name = "newpneumonia";V.template_name = "empty";V.page_id = "458";V.activity_id = "134";V.activity_id_list = ['134'];V.conf = 

尾部代码:

;V.bsData = {"os": "android", "app": null, "appversion": null, "browser": "", "userInfo": {"isLogin": false}};V.extData = {"pvid": "1581823641475608395", "rqid": "1581823641475608395", "qid": "1581823641475608395", "psid": "0", "sid": "0", "baiduid": "ANONYMOUS", "fr": "self", "oq": "-", "q": "-", "cat": "newpneumonia_newpneumonia", "pid": 385};V.currentTime = 1581823641;V.bundles = window.MOLA_BUNDLED_COMPONENTS || [];V.bundles = V.bundles.map(function (bundle) {return bundle.replace(/\.js$/, '');});require(['activity/captain/index'].concat(V.bundles), function (index) {index.enter();});

需要将这两部分,进行替换为空。解决方案:获取头部对应结尾的关键字符串,尾部对应的头部关键字符串,通过indexOf函数获取对应的字符串位置。

        //2.数据清洗,标题头处理,转换成标准的json格式;
        var index1 = res.indexOf('{"page"');//头部数据,找到指定字符串的位置;
        var index2 = res.indexOf(';V.bsData');//尾部数据,找到指定字符串的位置;
        console.log(index1);
        console.log(index2);
    })



三、对字符串利用substring函数进行替换:

        /*3.截取需要的字符串*/
        var data = res.substring(index1, index2);
        console.log(data);


 


四、标准数据输出

        /*4.标准数据输出*/
        var dataObj = eval("(" + data + ")");//设置json类型,解决返回undefined的问题
        console.log(dataObj.component[0]);



完整的代码:

    //使用$.get(),必须http服务器支持,无法本地访问;
    $.get('https://www.maomin.club/fy/get/', function (res, status) {
        /*1.读取数据,查看数据格式,按照需求进行数据清洗处理;*/
        //console.log(res);
        //2.数据清洗,标题头处理,转换成标准的json格式;
        var index1 = res.indexOf('{"page"');//头部数据,找到指定字符串的位置;
        var index2 = res.indexOf(';V.bsData');//尾部数据,找到指定字符串的位置;
        //console.log(index1);
       // console.log(index2);
        /*3.截取需要的字符串*/
        var data = res.substring(index1, index2);
       // console.log(data);
        /*4.标准数据输出*/
        var dataObj = eval("(" + data + ")");//设置json类型,解决返回undefined的问题
        console.log(dataObj.component[0]);
    })


接下来,讲述如何利用获取的数据进行echarts的数据可视化展示。

Done!

相关文章
|
2月前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
22天前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
26天前
|
JSON 缓存 前端开发
PHP如何高效地处理JSON数据:从编码到解码
在现代Web开发中,JSON已成为数据交换的标准格式。本文探讨了PHP如何高效处理JSON数据,包括编码和解码的过程。通过简化数据结构、使用优化选项、缓存机制及合理设置解码参数等方法,可以显著提升JSON处理的性能,确保系统快速稳定运行。
|
19天前
|
JSON API 数据安全/隐私保护
拍立淘按图搜索API接口返回数据的JSON格式示例
拍立淘按图搜索API接口允许用户通过上传图片来搜索相似的商品,该接口返回的通常是一个JSON格式的响应,其中包含了与上传图片相似的商品信息。以下是一个基于淘宝平台的拍立淘按图搜索API接口返回数据的JSON格式示例,同时提供对其关键字段的解释
|
2月前
|
JSON JavaScript Java
在Java中处理JSON数据:Jackson与Gson库比较
本文介绍了JSON数据交换格式及其在Java中的应用,重点探讨了两个强大的JSON处理库——Jackson和Gson。文章详细讲解了Jackson库的核心功能,包括数据绑定、流式API和树模型,并通过示例演示了如何使用Jackson进行JSON解析和生成。最后,作者分享了一些实用的代码片段和使用技巧,帮助读者更好地理解和应用这些工具。
104 0
在Java中处理JSON数据:Jackson与Gson库比较
|
16天前
|
JSON API 数据格式
淘宝 / 天猫官方商品 / 订单订单 API 接口丨商品上传接口对接步骤
要对接淘宝/天猫官方商品或订单API,需先注册淘宝开放平台账号,创建应用获取App Key和App Secret。之后,详细阅读API文档,了解接口功能及权限要求,编写认证、构建请求、发送请求和处理响应的代码。最后,在沙箱环境中测试与调试,确保API调用的正确性和稳定性。
|
28天前
|
供应链 数据挖掘 API
电商API接口介绍——sku接口概述
商品SKU(Stock Keeping Unit)接口是电商API接口中的一种,专门用于获取商品的SKU信息。SKU是库存量单位,用于区分同一商品的不同规格、颜色、尺寸等属性。通过商品SKU接口,开发者可以获取商品的SKU列表、SKU属性、库存数量等详细信息。
|
29天前
|
JSON API 数据格式
店铺所有商品列表接口json数据格式示例(API接口)
当然,以下是一个示例的JSON数据格式,用于表示一个店铺所有商品列表的API接口响应
|
2月前
|
编解码 监控 API
直播源怎么调用api接口
调用直播源的API接口涉及开通服务、添加域名、获取API密钥、调用API接口、生成推流和拉流地址、配置直播源、开始直播、监控管理及停止直播等步骤。不同云服务平台的具体操作略有差异,但整体流程简单易懂。
|
2月前
|
人工智能 自然语言处理 PyTorch
Text2Video Huggingface Pipeline 文生视频接口和文生视频论文API
文生视频是AI领域热点,很多文生视频的大模型都是基于 Huggingface的 diffusers的text to video的pipeline来开发。国内外也有非常多的优秀产品如Runway AI、Pika AI 、可灵King AI、通义千问、智谱的文生视频模型等等。为了方便调用,这篇博客也尝试了使用 PyPI的text2video的python库的Wrapper类进行调用,下面会给大家介绍一下Huggingface Text to Video Pipeline的调用方式以及使用通用的text2video的python库调用方式。

热门文章

最新文章