| 今天是第五专题内容,主要是介绍如何从心知天气官网,获取包含当前天气实况和未来 3 天天气预报的JSON数据信息。
在学习获取及显示天气信息前,我们务必要对JSON数据格式有个深入的了解。
如您需要了解其它专题的内容,请点击下面的链接。
第一专题内容,请参考:连接点亮SPI-TFT屏幕和UI布局设计
第二专题内容,请参考:WIFI模式设置及连接
第三专题内容,请参考:连接SHT30传感器,获取并显示当前环境温湿度数据(I2C)
第四专题内容,请参考:通过NTPClient库获取实时网络时间并显示在TFT屏幕上
一、什么是JSON?
JSON,是JavaScript Object Notation单词首字母的缩写,是一种轻量级的数据交换格式。它以易于阅读和编写的文本格式来存储和表示数据,通常用于在不同的系统之间进行数据交换。JSON数据以键值对或名值对的形式出现,可以包含对象、数组、字符串、数字等基本数据类型。它经常在Web开发、API通信等领域被广泛使用。
通过NodeMCU的WiFi模块,我们可以很容易地从【心知天气】网站获取气象信息,包括天气实况和天气预报等各类数据,这些天气数据是未经压缩的JSON格式数据。关于JSON格式数据,网上有大量文章对其作用、语法规则和应用场景进行详细介绍,请大家自行查询了解。比如,JSON 基本使用_json怎么用-CSDN博客。
二、天气实况数据
1. 天气实况。获取指定城市的天气实况,付费用户可获取全部数据,免费用户只返回天气现象文字、天气现象代码和气温 3 项数据。数据更新频率,国内城市在 15 分钟左右,国际城市在 20 分钟左右。
2. 接口地址
https://api.seniverse.com/v3/weather/now.json?key=your_api_key&location=beijing&language=zh-Hans&unit=c
3. 请求参数说明
4. 返回结果示例 (免费用户仅返回 ”now" 的前三项数值)
{
"results": [
{
"location": {
"id": "C23NB62W20TF",
"name": "西雅图",
"country": "US",
"path": "西雅图,华盛顿州,美国",
"timezone": "America/Los_Angeles",
"timezone_offset": "-07:00"
},
"now": {
"text": "多云",