当前位置: 首页 > news >正文

海外推广广告知了seo

海外推广广告,知了seo,一个人建网站赚钱,开发小程序需要什么技术一.前言: JSON是一种轻量级数据交换格式,常用于客户端和服务端的数据交互,不依赖于编程语言,在很多编程语言中都可以使用JSON,比如C,C,Java,Android,Qt。除了JSON&#x…

一.前言:
JSON是一种轻量级数据交换格式,常用于客户端和服务端的数据交互,不依赖于编程语言,在很多编程语言中都可以使用JSON,比如C,C++,Java,Android,Qt。除了JSON,还有一种数据传输格式XML,相较于XML,JSON更加便于阅读和书写。
JSON 有两种数据格式:JSON对象和JSON数组。被中括号包裹的是JSON数组,被大括号包裹的是JSON对象。

二.JSON数组:
JSON数组的格式:[元素1,元素2,元素3,…]
示例1:元素可以是不同数据类型

[1,2,3.14,"hello world",true,null]

示例2:元素可以是JSON对象或JSON数组

[{"id":123,"name":"tom"},[1,2,3.14,"hello world",true,null]
]

三.JSON对象:
JSON对象的格式:一个或多个键值对组成
示例1:

{"id":123,"name":"tom"
}

示例2:嵌套JSON对象和JSON数组,JSON对象和JSON数组也要使用键值对格式

{"name": "John Doe","age": 30,"address": {"city": "New York","street": "123 Main St"},"phoneNumbers": [{"type": "home","number": "555-1234"},{"type": "work","number": "555-5678"}],"hobbies": ["reading", "painting", "playing guitar"],"isStudent": true
}

小结:JSON数组里可以包含JSON对象或JSON数组,JSON对象里也可以嵌套JSON对象或JSON数组。

四.Qt中JSON的使用:1.生成JSON数据、2.解析JSON数据
在QT5.0版本以后支持对JSON的使用,QT5.0之前需要自己集成第三方库。
1.生成JSON数据
要生成的JSON数据如下:

{"name": "小王","age": 30,"address": {"city": "北京","street": "人民路32号"},"phoneNumbers": [{"number": "999-123456","type": "家"},{"number": "999-654321","type": "公司"}]
}

使用Qt生成上面的JSON数据:

#include <QJsonObject>
#include <QJsonArray>
#include <QJsonDocument>
#include <QDebug>
void MainWindow::writeJSON()
{// 创建最外层的 JSON 对象,里面包含要构建的所有 JSON 数据QJsonObject rootObj;// 插入 name 键值对到 rootObjrootObj.insert("name","小王");// 插入 age 键值对到 rootObjrootObj.insert("age",30);// 创建地址 JSON 对象,里面包含两个键值对QJsonObject addressObj;addressObj.insert("city","北京");addressObj.insert("street","人民路32号");// 插入地址 JSON 对象到 rootObjrootObj.insert("address",addressObj);// 创建电话 JSON 数组,里面包含两个电话 JSON 对象QJsonArray phoneArray;// 创建两个电话 JSON 对象QJsonObject phoneHomeObj;phoneHomeObj.insert("type","家");phoneHomeObj.insert("number","999-123456");QJsonObject phoneWorkObj;phoneWorkObj.insert("type","公司");phoneWorkObj.insert("number","999-654321");// 在电话 JSON 数组中添加两个电话 JSON 对象phoneArray.append(phoneHomeObj);phoneArray.append(phoneWorkObj);// 插入电话 JSON 数组到 rootObjrootObj.insert("phoneNumbers",phoneArray);// 将 rootObj JSON对象转换为 JSON 数据格式QJsonDocument doc(rootObj);QByteArray json = doc.toJson();// 打印qDebug()<<QString::fromUtf8(json);
}

2.解析JSON数据
要解析的JSON数据如下,先将它放在test.json文本文件中:

{"name": "小王","age": 30,"address": {"city": "北京","street": "人民路32号"},"phoneNumbers": [{"number": "999-123456","type": "家"},{"number": "999-654321","type": "公司"}]
}

使用Qt解析上面的JSON数据:

#include <QJsonObject>
#include <QJsonArray>
#include <QJsonDocument>
#include <QDebug>
#include <QFile>
void MainWindow::analyseJSON()
{// 读取文本中的 JSON 数据QFile file("C:\\Users\\A\\Desktop\\temp\\test.json");file.open(QFile::ReadOnly);QByteArray json = file.readAll();file.close();// 将 JSON 数据转换为 QJsonDocument 对象QJsonDocument doc = QJsonDocument::fromJson(json);if(!doc.isObject()){// 不是 JSON 对象:JSON 字符串格式错误或无效qDebug()<<"不是 JSON 对象:JSON 字符串格式错误或无效";return;}// 将 QJsonDocument 对象中的 JSON 数据转换为 JSON 对象QJsonObject obj = doc.object();// 获取 JSON 数据中的所有键QStringList keys = obj.keys();// 遍历键值对for (int i = 0;i<keys.size();++i) {// 获取每一个 keyQString key = keys[i];// 通过 key 获取对应的 valueQJsonValue value = obj.value(key);if(value.isBool()){// 值是一个 boolqDebug()<<key<<":"<<value.toBool();}else if(value.isString()){// 值是一个字符串qDebug()<<key<<":"<<value.toString();}else if(value.isDouble()){// 值是一个 double 或者 int(double 和 int 都用 isDouble)qDebug()<<key<<":"<<value.toInt();}else if(value.isObject()){// 值是一个 JSON 对象qDebug()<<key<<":";// 这里偷个懒,不再像上面那样循环获取值了,而是直接通过已知的键去获取值QJsonObject addressObj = value.toObject();QString city = addressObj["city"].toString();QString street = addressObj["street"].toString();qDebug()<<"  "<<"city:"<<city;qDebug()<<"  "<<"street:"<<street;}else if (value.isArray()){// 值是一个 JSON 数组qDebug()<<key<<":";QJsonArray phoneArray = value.toArray();for (int i = 0;i<phoneArray.size();++i) {// 遍历 JSON 数组中的每一个 JSON 对象QJsonObject phoneObj = phoneArray[i].toObject();QString number = phoneObj["number"].toString();QString type = phoneObj["type"].toString();qDebug()<<"  "<<"number:"<<number;qDebug()<<"  "<<"type:"<<type;}}}
}
http://www.hrbkazy.com/news/49811.html

相关文章:

  • 外贸日文网站网站seo视频
  • 手机微信网站怎么做的好处培训心得体会范文大全1000
  • 成都广告设计公司电话seo网站推广软件排名
  • 网站群建设讲话手机百度下载
  • 找别人做网站注意事项搜索引擎营销的主要方法包括
  • 网站定制开发怎么写seozhun
  • 网站seo快速百度招聘2022年最新招聘
  • 个人备案网站可以做论坛吗十大互联网广告公司
  • 引导型网站设计关键词推广效果
  • phpweb网站开发参考文献自动外链
  • 网站前端是什么关键词排名优化工具
  • 廊坊安次区网站建设公司2023年国家免费技能培训
  • 网站及网页设计费用google官网入口
  • 开网店的基础知识西安seo引擎搜索优化
  • 西宁做网站的网络公司附近电脑培训速成班一个月
  • 网站建设公司 电话销售没什么效果网络软文投放
  • wordpress返回首页一直加载网站百度seo关键词优化
  • 汉中网站建设报价南宁seo服务优化
  • 建德网站设计公司网络推广的网站有哪些
  • 四川网站营销seo什么价格互联网营销师国家职业技能标准
  • go语言网站开发磁力兔子
  • 销售方案企业seo关键词优化
  • 门户网站群建设搜狗推广登陆
  • 郴州建设局门户网站网络推广网址
  • 公司网站建立费用今日重大新闻
  • 大气娱乐搞笑网站源码百度指数分析
  • 官网注册深圳seo排名
  • edge浏览器打开是2345网址导航人员优化方案
  • 制作一个自适应网站源码设计网站一般多少钱
  • 福建漳州网站建设哪家便宜做推广的技巧