QJson的简单使用

    xiaoxiao2021-12-14  20

    #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

    最新回复(0)