寫入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();
}
輸出結果:
----------------------------------------------------------------------------------------------------------
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();
}
輸出結果:
----------------------------------------------------------------------------------------------------------
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();
}
輸出結果:
----------------------------------------------------------------------------------------------------------
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();
}
輸出結果:
----------------------------------------------------------------------------------------------------------
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();
}
輸出結果:
全站熱搜