个人技术分享

说明

该例子说明了字符串转Json对象,再从Json对象转字符串

代码

#include <QCoreApplication>
#include <QTextCodec>
#include <iostream>
#include <QDebug>
#include <QJsonDocument>
#include <QJsonObject>

using namespace std;

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);


    //设置中文编码,因为在Windows11编码,因此设为gbk,如果在linux下,应该设为utf-8
    QTextCodec *codec = QTextCodec::codecForName("gbk");
    QTextCodec::setCodecForLocale(codec);
    QString s="hello,姚";

    //字符串转为QJsonDocument
    QString sJson="{\"a\":10,\"b\":\"abc姚\"}";
    QByteArray ba=sJson.toUtf8();
    QJsonDocument jd=QJsonDocument::fromJson(ba);
    qDebug()<<"id:"<<jd;

    //QJsonDocument转为字符串
    QByteArray q1=jd.toJson();
    QString s1=QString::fromUtf8(q1);
    qDebug()<<"s1:"<<s1;

    //QJsonObject的使用
    QJsonObject jo;
    jo.insert("a","abc姚");
    jo.insert("b",20);
    QJsonDocument jd1=QJsonDocument(jo);
    qDebug()<<"jd1:"<<jd1;
    
    return a.exec();
}