gpt4 book ai didi

json - 使用 QJsonObject 读取 JSON

转载 作者:行者123 更新时间:2023-12-03 18:05:34 26 4
gpt4 key购买 nike

我正在编写几个测试函数,因为这是我第一次使用 Qt 并试图了解我开发最终项目所需的部分。以下是功能:

#include "money.h"
#include "ui_money.h"
#include <QNetworkAccessManager>
#include <QUrl>
#include <QNetworkRequest>
#include <QString>
#include <QJsonArray>
#include <QJsonDocument>



Money::Money(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::Money)
{
ui->setupUi(this);
}

Money::~Money()
{
delete ui;
}

void Money::on_getJsonData_clicked()
{
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)),
this, SLOT(replyFinished(QNetworkReply*)));

manager->get(QNetworkRequest(QUrl("http://scarjamoney.no-ip.biz")));


}

void Money::replyFinished(QNetworkReply* Reply)
{
QString string = Reply->readAll();
QJsonDocument document = QJsonDocument::fromJson(string.toUtf8());

if(document.isArray()){
QJsonArray valuesA = document.array();

foreach (const QJsonValue write, valuesA){
//ui->textEdit->setText("dentro");
QString text = QString::number(write.toDouble());

//qDebug() << "ciao" << text;

ui->textEdit->append(text);
}
}
else if(document.isObject()){
QJsonObject valuesO = document.object();
foreach (const QJsonValue write, valuesO){
ui->textEdit->append("inside");
}

ui->textEdit->append("it's an object");
}

}

如果以数组形式进行测试 json 回复,例如:
[1,2]

一切正常,而不是在测试对象中,例如:
{"firstValue":1,"secondValue":2}

编译时出现以下错误:
C:\Qt\Tools\QtCreator\bin\Money\money.cpp:53: error: variable 'QJsonObject valuesO' has initializer but incomplete type
QJsonObject valuesO = document.object();
C:\Qt\Tools\QtCreator\bin\Money\money.cpp:53: error: invalid use of incomplete type 'class QJsonObject'
QJsonObject valuesO = document.object();

为什么它不会将我的测试 json 文档转换为对象?

提前致谢,
詹姆士

最佳答案

您忘记包含 QJsonObject :

#include <QJsonDocument>
#include <QJsonValue>
#include <QJsonArray>
#include <QJsonObject>

关于json - 使用 QJsonObject 读取 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23128904/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com