Qt平台下使用QJson解析和构建JSON字符串

您所在的位置:网站首页 whik是什么意思中文 Qt平台下使用QJson解析和构建JSON字符串

Qt平台下使用QJson解析和构建JSON字符串

2023-11-22 04:25| 来源: 网络整理| 查看: 265

前言

上一篇介绍了C语言写的JSON解析库cJSON的使用:使用cJSON库解析和构建JSON字符串

本篇文章介绍,Qt开发环境下QJson库的使用示例,JSON解析配合API接口,就可以实现一些有趣的工具了,如全国油价查询工具,全国天气查询,空气质量查询,黄历查询,生活指数等等实用工具的开发。

分享几个免费的API提供平台:

K780:http://www.k780.com/api 天气API:http://api.help.bj.cn/api/ 心知天气:https://www.seniverse.com/ 和风天气:http://www.heweather.com 聚合数据:https://www.juhe.cn/

示例代码包含简单和复杂JSON字符串的解析和构建,Qt工程已经开源在Github和Gitee代码托管平台。

Github仓库地址:QJson_Demo Gitee仓库地址:QJson_Demo

开发平台基于Qt 5.8 Windows。

示例的JSON字符串和上一篇使用的是一样的。

JSON解析示例包括:

和风天气实时数据 心知天气实时数据 心知天气3天预报数据 城市空气质量AQI信息 全国油价信息 北京时间等。

JSON的构建:

简单的键值对 JSON对象作为键的值 JSON数组 JSON数组的嵌套 QJson解析JSON示例

JSON的解析要对照JSON字符串来理解,关于JSON字符串的介绍,可以参考JSON简介

首先,解析和构建都要包含如下头文件:

#include #include #include 示例字符串1:和风天气实时数据

这个JSON字符串中HeWeather6键的值是一个数组,数组内只有1个JSON对象,这个对象里又嵌套了几个JSON对象。

{ "HeWeather6": [{ "basic": { "cid": "CN101010700", "location": "昌平", "parent_city": "北京", "admin_area": "北京", "cnty": "中国", "lat": "40.21808624", "lon": "116.23590851", "tz": "+8.00" }, "update": { "loc": "2019-07-20 10:21", "utc": "2019-07-20 02:21" }, "status": "ok", "now": { "cloud": "96", "cond_code": "104", "cond_txt": "阴", "fl": "28", "hum": "86", "pcpn": "0.0", "pres": "995", "tmp": "25", "vis": "4", "wind_deg": "100", "wind_dir": "东风", "wind_sc": "1", "wind_spd": "4" } }] }

字符串1解析函数

主要是JSON的多层嵌套的解析。

int Parse_HeWeather_Now_Json(void) { QJsonParseError err_rpt; QJsonDocument root_Doc = QJsonDocument::fromJson(he_now_json, &err_rpt);//字符串格式化为JSON if(err_rpt.error != QJsonParseError::NoError) { qDebug()


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3