QTJson

構建json

    QJsonObject json;
    json.insert("type", "m.login.password");
    json.insert("user", "example");
    json.insert("password", "wordpass");
    
        // 構建 JSON 文檔
    QJsonDocument document;
    document.setObject(json);
    
  	QByteArray byteArray = document.toJson(QJsonDocument::Compact);
    QString strJson(byteArray);

解析json

QByteArray result;
// 解析數據
QJsonParseError jsonError;
// 轉化爲 JSON 文檔 
if (!doucment.isNull() && (jsonError.error == QJsonParseError::NoError)) { 
// 解析未發生錯誤
 if (!doucment.isNull() && (jsonError.error == QJsonParseError::NoError)) {  
 // JSON 文檔爲對象
   if (doucment.isObject()) { 
  	QJsonObject object = doucment.object();  // 轉化爲對象
  	
  	 if (object.contains("user_id")) {  // 包含指定的 key
                                                        QJsonValue value = object.value("user_id");  // 獲取指定 key 對應的 value
                                                        if (value.isString()) {  // 判斷 value 是否爲字符串
                                                            QString user_id = value.toString();  // 將 value 轉化爲字符串
                                                            std::cout<<"解析用戶ID:"<<user_id.toStdString()<<std::endl;
                                                        }
                                                    }
  	
 		}
	}
}
else
{
	  QString errStr =  jsonError.errorString();
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章