1、背景
XML和 JSON 是现今互联网中常用的两种数据交换格式,两种格式都可以进行网络数据交换,数据存储,配置文件,但由于两种文件不同的优缺点,XML主要用于配置文件,JSON主要应用于网络数据交换。
此篇将为大家介绍:通过API数据接口,对JSON的格式的API数据进行解析。
具体场景:提取API中每年的国务院的节假日发文网页地址。
2、预期效果
将API中的JSON格式数据,进行关键信息提取,存到数据库中。
现有数据: 期望得到的结果:
3、实现思路
通过HTTP client进行数据获取,然后通过JSON对数据进行格式化处理,最后输出到数据表中。
算子概览:
完成配置后的最终流程图:
4、实现步骤
4.1 新建任务
目录:数据集成>>数据流任务>>添加
4.2 HTTP Client 配置
① url
填写提供的API对应的url链接:
通过浏览器可直接访问链接(https://communal.jiushuyun.com/api/v1/holiday/chinese),查看对应的数据,若需要格式化查看,可以采用其他JSON校验工具,复制内容,进行粘贴解析,如下图所示:
② HTTP Method:目前支持GET、HEAD、POST和PUT方法
为了拿到实体主体,默认选择GET方法
序号 | 方法 | 描述 |
---|---|---|
1 | GET | 请求指定的页面信息,并返回实体主体。 |
2 | HEAD | 类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头 |
3 | POST | 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。 |
4 | PUT | 从客户端向服务器传送的数据取代指定的文档的内容。 |
③ 关于字段名
在HTTP client中,默认了如下所示的字段名,支持修改,将会在后续的JSON解析中用到:
返回结果字段名:result_str
Http status code字段名:http_status_code
Response time字段名:response_time
④ 关于Autorization、Headers、Params
若需要相关信息,可支持配置,具体案例可参考:使用httpclient访问简道云接口
4.3 记录日志监控
可支持日志级别模式选择,运行后可将在任务日志、日志详细以及控制台进行查看
4.4 JSON 格式化 配置
JSON格式化初始配置页面如下图所示,由于需要对内容做JSON格式化解析,所以需要勾选上”来源于字段?“以及”扩展一个数组为多行?“
① 来源于字段
字段名称:为 HTTP client中的”返回结果字段名:result_str“
② 扩展一个数组为多行
JSON数组路径:.date
数组JSONPath:添加字段
可参考:jsonpath - 使用 JSONPath 解析 JSON 完整内容详解 - 舞羊 - 博客园 (cnblogs.com)
③ 预览结果
确认数据解析是否正确
4.5 表输出
若需要输出表数据和API数据一致,建表策略选择”先删除再创建“,写入设置为”插入提交“
① 设置表基本属性:数据连接、模式、表名
② 写入设置:设置为插入提交
③ 字段转换:获取字段、匹配字段
备注:根据此处数据策略,可不选择业务键
④ 预览结果
4.6 执行计划
根据具体业务需要,选择合适的执行频率:此处为简单重复执行,每隔1秒 进行执行。