一、背景
RapidJSON简介及使用_fengbingchun的博客-CSDN博客
rapidjson是腾讯的高效C++ Json解析器,只有头文件,可跨平台使用
mirrors / Tencent / rapidjson · GitCode
二、读数据
使用rapidjson解析和组装json_youyicc的博客-CSDN博客
文章来源地址https://www.toymoban.com/news/detail-557351.html
三、写数据
#include "rapidjson/document.h"
#include "rapidjson/error/en.h"
#include "rapidjson/stringbuffer.h"
#include "rapidjson/writer.h"
#include "rapidjson/istreamwrapper.h"
#include "rapidjson/prettywriter.h"
//通过rapidjson生成json数据
QString QosMonitor::generateJsonDataByRapidJson(dataInfo& data) {
rapidjson::StringBuffer json;
rapidjson::PrettyWriter<rapidjson::StringBuffer> writer(json);
try {
writer.StartObject();
writer.String("500001");
writer.StartArray();
writer.StartObject();
writer.String("name");
writer.String(data.name.toStdString().c_str());
writer.String("endpoint");
writer.String(data.endpoint.toStdString().c_str());
writer.String("remoteMac");
writer.String(data.remoteMac.toStdString().c_str());
writer.String("loginTime");
writer.String(data.loginTime.toStdString().c_str());
writer.String("logonNum");
writer.String(data.logonNum.toStdString().c_str());
writer.String("logonLimit");
writer.String(data.logonLimit.toStdString().c_str());
writer.String("compressTag");
writer.String(data.compressTag.toStdString().c_str());
writer.String("iceBzip2");
writer.String(data.iceBzip2.toStdString().c_str());
writer.String("messageNum");
writer.String(data.messageNum.toStdString().c_str());
writer.String("messageSize");
writer.String(data.messageSize.toStdString().c_str());
writer.String("speed");
writer.String(data.speed.toStdString().c_str());
writer.String("maxSpeed");
writer.String(data.maxSpeed.toStdString().c_str());
writer.String("mps");
writer.String(data.mps.toStdString().c_str());
writer.String("maxMps");
writer.String(data.maxMps.toStdString().c_str());
writer.String("type");
writer.String(data.type.toStdString().c_str());
writer.String("location");
writer.String(data.location.toStdString().c_str());
writer.EndObject();
writer.EndArray();
writer.EndObject();
}
catch (...) {}
QFile file("../../binx64/release/2.json");
file.open(QIODevice::WriteOnly);
// 将json以文本形式写入文件并关闭文件。
file.write(json.GetString());
file.close();
//把json数据转为QString
QString s = QString(json.GetString());
return s;
}
文章来源:https://www.toymoban.com/news/detail-557351.html
到了这里,关于C++使用rapidjson读写json数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!