说明
该例子说明了字符串转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();
}