QJsonArray buy_items = jo.[
"buy_items"
].toArray;
for
(
int
i=
0
; i<buy_items.size(); i++)
QJsonValue value1 = buy_items.at(i);
QJsonObject item = value1.toObject();
QString title = item[
"title"
].toString();
qDebug() <<
"title: "
+ title;
int
main(
int
argc,
char
*argv[])
QApplication a(argc, argv);
MainWindow w;
QString t = QObject::tr(
"{"
) + \
"\"retflag\":\"0\","
+ \
"\"TXTString\":"
+ \
"{"
+ \
"\"buy_items\":"
+ \
"["
+ \
"{\"title\":\"生鲜1元\"},"
+ \
"{\"title\":\"生鲜2元\"}"
+ \
"]"
+ \
"},"
+ \
"\"total\":100"
+ \
"}"
;
qDebug() << t;
QByteArray buf = t.toUtf8();
QJsonDocument jd = QJsonDocument::fromJson(buf);
if(jd.isObject())
QJsonObject jo = jd.object();
QJsonObject jo.[
"TXTString"
].toObject();
MakePrtMsg(PrintMsg);
w.show();
return
a.exec();
解析如下图所示JSON 代码如下图#include "mainwindow.h"#include <QApplication>#include <QDebug>#include <QJsonDocument>#include <QJsonArray>#include <QJsonObject>#include <QDebug>#include <QObject>bool MakeP
"describe":"an apple",
"icon":"appleIcon",
"name":"apple"
Q
Json
Document类提供了读写
JSON
文档的方式,我们可以通过该类的方法Q
Json
Document::from
Json
()将一个
JSON
文档转换成Q
Json
Document类,或者通过Q
Json
Document::to
Json
()和Q
Json
Document::toBinaryData()函数将一个Q
Json
Document类转换为QByteArray,这样我们就可以很轻松地将其写入文件。
Q
Json
Array封装了
JSON
中的数组。
Q
Json
Object
qt
解析
json
的数据,需要使用的类有q
json
object,q
json
array,q
json
document。
q
json
document是用于读取或者写入
json
文件
q
json
array是封装一个
json
数组
q
json
object是封装一个
json
对象
要
解析
json
,就需要先了解你需要
解析
的
json
格式,然后在写对应的
解析
代码。
例如这样的一份
json
文件,我现在想要
解析
他。将文件中每一个值都进行输出。
解析
json
就像扒洋葱一样,一层一层的往下扒。我们可以看到第一层是一个array。
在公司调用一个接口,我是用的是同事封装好的方法,方法的返回值是string,于是我就想到QString能否转为
JSON
数据,并对其进行
解析
。
qt
中通过Q
Json
Document将QString转为
JSON
,只要QString能转为
json
,很多
解析
json
数据的问题自然就好解决了。
"StatusCode": 200,
"ErrCode": 0,
"Msg": "success",
"Data": [
"SchoolID": "S-05061411
查询
字符串
数据
下列为常见的三种方式
(1) String::startsWith()函数判断一个
字符串
是否以某个
字符串
开头。此函数具有两个参数第一个参数指定了一个
字符串
,第二个参数指定是否大小写敏感 (默认情况下,是大小写敏感的),例如:
QString str = "Welcome to you!";
str.startsWith("Welcome",
Qt
::CaseSenstive); //true
str.startsWith("you",
Qt
::CaseSentive); //false
00. 目录
文章目录00. 目录01. Q
Json
Object类简介02. 公有类型03. 公有成员方法04. 公有成员方法
解析
05. 参考示例06. 附录
01. Q
Json
Object类简介
Header: #include <Q
Json
Object>
qmake:
QT
+= core
Since:
Qt
5.0
Q
Json
Object类用于封装
JSON
对象。
JSON
对...
```c++
Q
Json
Document doc = Q
Json
Document::from
Json
(
json
String.toUtf8());
Q
Json
Array
json
Array = doc.array();
foreach (const Q
Json
Value & value,
json
Array) {
Q
Json
Object obj = value.toObject();
QString name = obj["name"].toString();
int age = obj["age"].toInt();
// 处理数据
首先,我们使用 `Q
Json
Document::from
Json
()` 函数将
JSON
字符串
转换为 `Q
Json
Document` 对象。然后,我们调用 `Q
Json
Document::array()` 函数获取
JSON
数组。接下来,我们使用 `foreach` 循环遍历数组中的每个元素。每个元素都是 `Q
Json
Value` 类型,我们可以使用 `Q
Json
Value::toObject()` 函数将其转换为 `Q
Json
Object` 类型。最后,我们可以使用 `Q
Json
Object` 中的键来获取值。
以上代码可以用于
解析
任何
JSON
数组。