寫入Json 物件:

#include<QCoreApplication>
#include<QJsonDocument>
#include<QJsonObject>
#include<QJsonValue>
#include<QJsonArray>
#include<QDebug>
 
int main(int argc,char * argv[]) {
 
    QCoreApplication a(argc,argv);
 
    QJsonObject jsonObj;
 
    jsonObj.insert("A","aaa");
    jsonObj.insert("B","bbb");
 
 
    //輸出:
 
    QJsonDocument doc(jsonObj);
    QString strJson(doc.toJson()); 
    qDebug()<<strJson.toStdString().data();
 
    return a.exec();
}
  

輸出結果:

PrtScr capture_3

 ----------------------------------------------------------------------------------------------------------

Json 物件單行輸出:

#include<QCoreApplication>
#include<QJsonDocument>
#include<QJsonObject>
#include<QJsonValue>
#include<QJsonArray>
#include<QDebug>
 
 
int main(int argc, char * argv[]){
 
    QCoreApplication a(argc,argv);
 
    QJsonObject jsonObj;
 
    jsonObj.insert("A","aaa");
    jsonObj.insert("B","bbb");
 
 
    //輸出:
 
    QJsonDocument doc(jsonObj);
    QString strJson(doc.toJson(QJsonDocument::Compact)); 
    qDebug()<<strJson.toStdString().data();
 
    return a.exec();
}

輸出結果:

CQtQt5.5.1ToolsQtCreatorbinqtcreator_process_stub.exe

 ----------------------------------------------------------------------------------------------------------

Json 巢狀物件:

#include<QCoreApplication>
#include<QJsonDocument>
#include<QJsonObject>
#include<QJsonValue>
#include<QJsonArray>
#include<QDebug>
 
 
int main(int argc, char * argv[]){
 
    QCoreApplication a(argc,argv);
 
 
    QJsonObject country; 
    country.insert("Japan","HelloKitty");
 
    QJsonObject city; 
    city.insert("Taipei","101");  
    country.insert("Taiwan",city); 
 
 
    //輸出:
 
    QJsonDocument doc(country); 
    QString strJson(doc.toJson(QJsonDocument::Compact)); 
    qDebug()<<strJson.toStdString().data();
 
    return a.exec();
}

輸出結果:
CQtQt5.5.1ToolsQtCreatorbinqtcreator_process_stub.exe_2  

 ----------------------------------------------------------------------------------------------------------

Json 陣列:

#include<QCoreApplication>
#include<QJsonDocument>
#include<QJsonObject>
#include<QJsonValue>
#include<QJsonArray>
#include<QDebug>
 
 
int main(int argc, char  *argv[]){
 
    QCoreApplication a (argc, argv);
 
    QJsonObject user;
    {
        {
            QJsonArray loves;
            loves.append("Moe");
            loves.append("Loli");
            loves.append("Kitty");
            user.insert("Loves", loves);
        }
        user.insert("Name", "God");
    }
 
    //輸出:
    QJsonDocument doc(user);
    QString strJson(doc.toJson());
 
    qDebug()<<strJson.toStdString().data();
 
    return a.exec();
}

輸出結果:

CQtQt5.5.1ToolsQtCreatorbinqtcreator_process_stub.exe  

 ----------------------------------------------------------------------------------------------------------

Json 讀取 & 解析:

#include<QCoreApplication>
#include<QJsonDocument>
#include<QJsonObject>
#include<QJsonValue>
#include<QJsonArray>
#include<QDebug>
#include<QString>
 
 
int main(int argc, char * argv[]){
 
    QCoreApplication a(argc,argv);
 
    QString json="{"
                             "\"Name\":\"God\","
                             "\"Data\":[\"Loli\",5,3.14,false]"
                         "}";
 
    QJsonDocument d=QJsonDocument::fromJson(json.toUtf8());
    QJsonObject json_obj=d.object();
 
    //輸出:
    QString strJson=d.toJson();
    qDebug()<<strJson.toStdString().data();
    qDebug()<<"---------------------------------";
 
    //輸出:
    QString name=json_obj["Name"].toString();
    qDebug()<<"YourNameIs:"<<name.toStdString().data();
 
    //輸出:
    QJsonArray data=json_obj["Data"].toArray();
    for(int i=0; i<data.size(); i++){
        if(data[i].isString()){
            qDebug()<<"Data"<<i<<":"<<data[i].toString().toStdString().data();
        }else if(data[i].isDouble()){
            qDebug()<<"Data"<<i<<":"<<data[i].toDouble();
        }else if(data[i].isBool()){
            qDebug()<<"Data"<<i<<":"<<data[i].toBool();
        }
    }
 
    return a.exec();
}
 輸出結果:

CQtQt5.5.1ToolsQtCreatorbinqtcreator_process_stub.exe_2

  
 
















arrow
arrow
    全站熱搜

    黃彥霖 發表在 痞客邦 留言(1) 人氣()