Qt平台下使用QJson解析和构建JSON字符串 |
您所在的位置:网站首页 › whik是什么意思中文 › Qt平台下使用QJson解析和构建JSON字符串 |
前言
上一篇介绍了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 |