#include "mainwindow.h"#include <QApplication>//#include <QByteArray>//add#include <QDebug>#include <QJsonObject>#include <QJsonDocument>int main(
int argc,
char *argv[]){
QApplication a(argc,
argv);
// MainWindow w; // w.show(); /*生成Json*/ QJsonObject json;
json.insert(
"name",
QString(
"Qt"));
/*1. key(QString) 2.value(QJsonValue)*/ json.insert(
"version",
6);
json.insert(
"windows",
true);
QJsonDocument document;
document.setObject(json);
QByteArray byte_array
=
document.toJson(
QJsonDocument::
Compact);
QString json_str(byte_array);
qDebug()<<
"生成Json:"<<json_str;
/*解析Json*/ QJsonParseError json_error;
QJsonDocument parse_doucment
=
QJsonDocument::fromJson(byte_array,
&json_error);
if(json_error.
error ==
QJsonParseError::
NoError)
{
if(parse_doucment.isObject())
//判断是否是对象 {
QJsonObject obj
=
parse_doucment.object();
if(obj.contains(
"name"))
{
QJsonValue name_value
=
obj.take(
"name");
if(name_value.isString())
{
QString name
=
name_value.toString();
qDebug()<<
"name "<<name;
}
}
if(obj.contains(
"version"))
{
QJsonValue version_value
=
obj.take(
"version");
if(version_value.isDouble())
{
int version
=
version_value.toVariant().toInt();
qDebug()<<
"version "<<version;
}
}
if(obj.contains(
"windows"))
{
QJsonValue version_value
=
obj.take(
"windows");
if(version_value.isBool())
{
bool flag
=
version_value.toBool();
qDebug()<<
"windows "<<flag;
}
}
}
}
return a.exec();}
转载请注明原文地址: https://ju.6miu.com/read-969750.html