void Client::StructToJSon(const std::vector<sDefectItem>& vecDefect, QByteArray &jsonArray)
{
for(int i = 0; i < (); i++)
{
QJsonObject rootObj, objStation[5];
QJsonArray rootErrorList[5], dataList[5];
("imei", (i).imei);
("model", QString::fromStdString((i).strModel));
("product", QString::fromStdString((i).strProduct));
("starttime", QString::fromStdString((i).strStartTime));
("endtime", QString::fromStdString((i).strEndTime));
("path", QString::fromStdString((i).strImagePath));
///
for(int j = 0; j < 5; j++)
{
int num = static_cast<int>((i).vecStation[j].size()) > 0 ? static_cast<int>((i).vecStation[j].size()): 0;
objStation[j].insert("count", num);
for(int k = 0; k < (i).vecStation[j].size(); k++)
{
QJsonObject objErrorItem;
("level", QString::fromStdString((i).vecStation[j].at(k).strErrorLevel));
("type", QString::fromStdString((i).vecStation[j].at(k).strType));
("length", (i).vecStation[j].at(k).dLength);
("width", (i).vecStation[j].at(k).dWidth);
("area", (i).vecStation[j].at(k).dArea_mm);
("ltx", (i).vecStation[j].at(k).ParARect.ap_LTPoint.nX);
("lty", (i).vecStation[j].at(k).ParARect.ap_LTPoint.nY);
("rtx", (i).vecStation[j].at(k).ParARect.ap_RTPoint.nX);
("rty", (i).vecStation[j].at(k).ParARect.ap_RTPoint.nY);
("rbx", (i).vecStation[j].at(k).ParARect.ap_RBPoint.nX);
("rby", (i).vecStation[j].at(k).ParARect.ap_RBPoint.nY);
("lbx", (i).vecStation[j].at(k).ParARect.ap_LBPoint.nX);
("lby", (i).vecStation[j].at(k).ParARect.ap_LBPoint.nY);
dataList[j].append(objErrorItem);
}
objStation[j]["data"] = dataList[j];
rootErrorList[j].append(objStation[j]);
QString station = "station" + QString::number(j);
rootObj[station] = rootErrorList[j];
}
QJsonDocument document;
(rootObj);
jsonArray = (QJsonDocument::Compact);
}
}
得到的结果:
{
"endtime": "2020/1/3 12:25:10",
"imei": 99,
"model": "XX-Gray",
"path": "D:/99_99",
"product": "XX-Gray",
"starttime": "2020/1/3 12:24:02",
"station0": [
{
"count": 2,
"data": [
{
"area": 4.927,
"lbx": 2757,
"lby": 3272,
"len": 81.4625,
"level": "A",
"ltx": 5563,
"lty": 2879,
"rbx": 5631,
"rby": 3365,
"rtx": 2825,
"rty": 3758,
"type": "CCC",
"width": 0.05
},
{
"area": 4.927,
"lbx": 1757,
"lby": 2272,
"len": 81.4625,
"level": "DD",
"ltx": 3563,
"lty": 1879,
"rbx": 3631,
"rby": 1365,
"rtx": 825,
"rty": 2758,
"type": "Scartch",
"width": 0.05
}
]
}
],
"station1": [
{
"count": 0,
"data": [
]
}
],
"station2": [
{
"count": 1,
"data": [
{
"area": 4.927,
"lbx": 1,
"lby": 44,
"len": 81.4625,
"level": "AA",
"ltx": 63,
"lty": 879,
"rbx": 1631,
"rby": 565,
"rtx": 125,
"rty": 758,
"type": "Island",
"width": 0.05
}
]
}
]
}