#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QJsonObject>
#include <QJsonDocument>
#include <QMessageBox>
#include <QByteArray>
#include <QTextCodec>
#include <QDebug>
#pragma execution_character_set("utf-8")
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
/**
* json字符串转json对象
* @brief getJsonObjectFromString
* @param jsonString
* @return
*/
QJsonObject getJsonObjectFromString(const QString jsonString){
QJsonDocument jsonDocument = QJsonDocument::fromJson(jsonString.toLocal8Bit().data());
if( jsonDocument.isNull() ){
qDebug()<< "===> please check the string "<< jsonString.toLocal8Bit().data();
}
QJsonObject jsonObject = jsonDocument.object();
return jsonObject;
}
/**
* json对象转json字符串
* @brief getStringFromJsonObject
* @param jsonObject
* @return
*/
QString getStringFromJsonObject(const QJsonObject& jsonObject){
return QString(QJsonDocument(jsonObject).toJson());
}
void MainWindow::on_pushButton_clicked()
{
QJsonObject json;
json.insert("Name", "Qt");
json.insert("From", 1991);
json.insert("Cross Platform", true);
// 构建 JSON 文档
QJsonDocument document;
document.setObject(json);
QByteArray byteArray = document.toJson(QJsonDocument::Compact);
QString strJson(byteArray);
QMessageBox::information(this,tr("提示"), strJson,QMessageBox::Ok,QMessageBox::Yes);
QString json_str=getStringFromJsonObject(json);
QMessageBox::information(this,tr("提示"), json_str,QMessageBox::Ok,QMessageBox::Yes);
}
qt josn例子
最新推荐文章于 2024-02-26 21:38:10 发布
7544

被折叠的 条评论
为什么被折叠?



