Qt读取Json文件数据
void TcpServerCfg::initServerCfgList()
{
serverCfgList.clear();
QString name = "./config/portSet.json";
QFile loadFile(name);
if(!loadFile.open(QIODevice::ReadOnly))
{
LOG() << "could't open projects json";
return;
}
QByteArray allData = loadFile.readAll();
loadFile.close();
QJsonParseError json_error;
QJsonDocument jsonDoc(QJsonDocument::fromJson(allData, &json_error));
if(json_error.error != QJsonParseError::NoError)
{
LOG() << "json error!"<<json_error.error<<
"errorString: "<<json_error.errorString()<<
"offset: "<<json_error.offset;
return;
}
QJsonObject rootObj = jsonDoc.object();
QJsonArray arrayPortPtl = rootObj["port_protocol"].toArray();
foreach(auto portPtl, arrayPortPtl)
{
int manId = portPtl["man_id"].toString().toInt();
unsigned short port = portPtl["port"].toString().toUShort();
tcpServerCfg_t cfg{manId, port};
serverCfgList << cfg;
}
LOG()<<"serverCfgList.size: "<<serverCfgList.size();
}