|
@@ -44,22 +44,22 @@ void ScanImageResult::parse(const std::string &payload)
|
|
|
for (auto dataNodeResultsResult : allResultsNode)
|
|
for (auto dataNodeResultsResult : allResultsNode)
|
|
|
{
|
|
{
|
|
|
Data::Result resultObject;
|
|
Data::Result resultObject;
|
|
|
- if(!dataNodeResultsResult["DataId"].isNull())
|
|
|
|
|
- resultObject.dataId = dataNodeResultsResult["DataId"].asString();
|
|
|
|
|
if(!dataNodeResultsResult["TaskId"].isNull())
|
|
if(!dataNodeResultsResult["TaskId"].isNull())
|
|
|
resultObject.taskId = dataNodeResultsResult["TaskId"].asString();
|
|
resultObject.taskId = dataNodeResultsResult["TaskId"].asString();
|
|
|
|
|
+ if(!dataNodeResultsResult["DataId"].isNull())
|
|
|
|
|
+ resultObject.dataId = dataNodeResultsResult["DataId"].asString();
|
|
|
if(!dataNodeResultsResult["ImageURL"].isNull())
|
|
if(!dataNodeResultsResult["ImageURL"].isNull())
|
|
|
resultObject.imageURL = dataNodeResultsResult["ImageURL"].asString();
|
|
resultObject.imageURL = dataNodeResultsResult["ImageURL"].asString();
|
|
|
auto allSubResultsNode = dataNodeResultsResult["SubResults"]["SubResult"];
|
|
auto allSubResultsNode = dataNodeResultsResult["SubResults"]["SubResult"];
|
|
|
for (auto dataNodeResultsResultSubResultsSubResult : allSubResultsNode)
|
|
for (auto dataNodeResultsResultSubResultsSubResult : allSubResultsNode)
|
|
|
{
|
|
{
|
|
|
Data::Result::SubResult subResultsObject;
|
|
Data::Result::SubResult subResultsObject;
|
|
|
- if(!dataNodeResultsResultSubResultsSubResult["Label"].isNull())
|
|
|
|
|
- subResultsObject.label = dataNodeResultsResultSubResultsSubResult["Label"].asString();
|
|
|
|
|
if(!dataNodeResultsResultSubResultsSubResult["Suggestion"].isNull())
|
|
if(!dataNodeResultsResultSubResultsSubResult["Suggestion"].isNull())
|
|
|
subResultsObject.suggestion = dataNodeResultsResultSubResultsSubResult["Suggestion"].asString();
|
|
subResultsObject.suggestion = dataNodeResultsResultSubResultsSubResult["Suggestion"].asString();
|
|
|
if(!dataNodeResultsResultSubResultsSubResult["Rate"].isNull())
|
|
if(!dataNodeResultsResultSubResultsSubResult["Rate"].isNull())
|
|
|
subResultsObject.rate = std::stof(dataNodeResultsResultSubResultsSubResult["Rate"].asString());
|
|
subResultsObject.rate = std::stof(dataNodeResultsResultSubResultsSubResult["Rate"].asString());
|
|
|
|
|
+ if(!dataNodeResultsResultSubResultsSubResult["Label"].isNull())
|
|
|
|
|
+ subResultsObject.label = dataNodeResultsResultSubResultsSubResult["Label"].asString();
|
|
|
if(!dataNodeResultsResultSubResultsSubResult["Scene"].isNull())
|
|
if(!dataNodeResultsResultSubResultsSubResult["Scene"].isNull())
|
|
|
subResultsObject.scene = dataNodeResultsResultSubResultsSubResult["Scene"].asString();
|
|
subResultsObject.scene = dataNodeResultsResultSubResultsSubResult["Scene"].asString();
|
|
|
auto allFramesNode = dataNodeResultsResultSubResultsSubResult["Frames"]["Frame"];
|
|
auto allFramesNode = dataNodeResultsResultSubResultsSubResult["Frames"]["Frame"];
|
|
@@ -72,6 +72,32 @@ void ScanImageResult::parse(const std::string &payload)
|
|
|
framesObject.uRL = dataNodeResultsResultSubResultsSubResultFramesFrame["URL"].asString();
|
|
framesObject.uRL = dataNodeResultsResultSubResultsSubResultFramesFrame["URL"].asString();
|
|
|
subResultsObject.frames.push_back(framesObject);
|
|
subResultsObject.frames.push_back(framesObject);
|
|
|
}
|
|
}
|
|
|
|
|
+ auto allSfaceDataListNode = dataNodeResultsResultSubResultsSubResult["SfaceDataList"]["SfaceData"];
|
|
|
|
|
+ for (auto dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceData : allSfaceDataListNode)
|
|
|
|
|
+ {
|
|
|
|
|
+ Data::Result::SubResult::SfaceData sfaceDataListObject;
|
|
|
|
|
+ if(!dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceData["X"].isNull())
|
|
|
|
|
+ sfaceDataListObject.x = std::stof(dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceData["X"].asString());
|
|
|
|
|
+ if(!dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceData["Y"].isNull())
|
|
|
|
|
+ sfaceDataListObject.y = std::stof(dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceData["Y"].asString());
|
|
|
|
|
+ if(!dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceData["Height"].isNull())
|
|
|
|
|
+ sfaceDataListObject.height = std::stof(dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceData["Height"].asString());
|
|
|
|
|
+ if(!dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceData["Width"].isNull())
|
|
|
|
|
+ sfaceDataListObject.width = std::stof(dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceData["Width"].asString());
|
|
|
|
|
+ auto allFacesNode = dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceData["Faces"]["Face"];
|
|
|
|
|
+ for (auto dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceDataFacesFace : allFacesNode)
|
|
|
|
|
+ {
|
|
|
|
|
+ Data::Result::SubResult::SfaceData::Face facesObject;
|
|
|
|
|
+ if(!dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceDataFacesFace["Rate"].isNull())
|
|
|
|
|
+ facesObject.rate = std::stof(dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceDataFacesFace["Rate"].asString());
|
|
|
|
|
+ if(!dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceDataFacesFace["Id"].isNull())
|
|
|
|
|
+ facesObject.id = dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceDataFacesFace["Id"].asString();
|
|
|
|
|
+ if(!dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceDataFacesFace["Name"].isNull())
|
|
|
|
|
+ facesObject.name = dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceDataFacesFace["Name"].asString();
|
|
|
|
|
+ sfaceDataListObject.faces.push_back(facesObject);
|
|
|
|
|
+ }
|
|
|
|
|
+ subResultsObject.sfaceDataList.push_back(sfaceDataListObject);
|
|
|
|
|
+ }
|
|
|
auto allHintWordsInfoListNode = dataNodeResultsResultSubResultsSubResult["HintWordsInfoList"]["HintWordsInfo"];
|
|
auto allHintWordsInfoListNode = dataNodeResultsResultSubResultsSubResult["HintWordsInfoList"]["HintWordsInfo"];
|
|
|
for (auto dataNodeResultsResultSubResultsSubResultHintWordsInfoListHintWordsInfo : allHintWordsInfoListNode)
|
|
for (auto dataNodeResultsResultSubResultsSubResultHintWordsInfoListHintWordsInfo : allHintWordsInfoListNode)
|
|
|
{
|
|
{
|
|
@@ -80,63 +106,37 @@ void ScanImageResult::parse(const std::string &payload)
|
|
|
hintWordsInfoListObject.context = dataNodeResultsResultSubResultsSubResultHintWordsInfoListHintWordsInfo["Context"].asString();
|
|
hintWordsInfoListObject.context = dataNodeResultsResultSubResultsSubResultHintWordsInfoListHintWordsInfo["Context"].asString();
|
|
|
subResultsObject.hintWordsInfoList.push_back(hintWordsInfoListObject);
|
|
subResultsObject.hintWordsInfoList.push_back(hintWordsInfoListObject);
|
|
|
}
|
|
}
|
|
|
- auto allProgramCodeDataListNode = dataNodeResultsResultSubResultsSubResult["ProgramCodeDataList"]["ProgramCodeData"];
|
|
|
|
|
- for (auto dataNodeResultsResultSubResultsSubResultProgramCodeDataListProgramCodeData : allProgramCodeDataListNode)
|
|
|
|
|
- {
|
|
|
|
|
- Data::Result::SubResult::ProgramCodeData programCodeDataListObject;
|
|
|
|
|
- if(!dataNodeResultsResultSubResultsSubResultProgramCodeDataListProgramCodeData["X"].isNull())
|
|
|
|
|
- programCodeDataListObject.x = std::stof(dataNodeResultsResultSubResultsSubResultProgramCodeDataListProgramCodeData["X"].asString());
|
|
|
|
|
- if(!dataNodeResultsResultSubResultsSubResultProgramCodeDataListProgramCodeData["Y"].isNull())
|
|
|
|
|
- programCodeDataListObject.y = std::stof(dataNodeResultsResultSubResultsSubResultProgramCodeDataListProgramCodeData["Y"].asString());
|
|
|
|
|
- if(!dataNodeResultsResultSubResultsSubResultProgramCodeDataListProgramCodeData["Width"].isNull())
|
|
|
|
|
- programCodeDataListObject.width = std::stof(dataNodeResultsResultSubResultsSubResultProgramCodeDataListProgramCodeData["Width"].asString());
|
|
|
|
|
- if(!dataNodeResultsResultSubResultsSubResultProgramCodeDataListProgramCodeData["Height"].isNull())
|
|
|
|
|
- programCodeDataListObject.height = std::stof(dataNodeResultsResultSubResultsSubResultProgramCodeDataListProgramCodeData["Height"].asString());
|
|
|
|
|
- subResultsObject.programCodeDataList.push_back(programCodeDataListObject);
|
|
|
|
|
- }
|
|
|
|
|
auto allLogoDataListNode = dataNodeResultsResultSubResultsSubResult["LogoDataList"]["LogoData"];
|
|
auto allLogoDataListNode = dataNodeResultsResultSubResultsSubResult["LogoDataList"]["LogoData"];
|
|
|
for (auto dataNodeResultsResultSubResultsSubResultLogoDataListLogoData : allLogoDataListNode)
|
|
for (auto dataNodeResultsResultSubResultsSubResultLogoDataListLogoData : allLogoDataListNode)
|
|
|
{
|
|
{
|
|
|
Data::Result::SubResult::LogoData logoDataListObject;
|
|
Data::Result::SubResult::LogoData logoDataListObject;
|
|
|
if(!dataNodeResultsResultSubResultsSubResultLogoDataListLogoData["Type"].isNull())
|
|
if(!dataNodeResultsResultSubResultsSubResultLogoDataListLogoData["Type"].isNull())
|
|
|
logoDataListObject.type = dataNodeResultsResultSubResultsSubResultLogoDataListLogoData["Type"].asString();
|
|
logoDataListObject.type = dataNodeResultsResultSubResultsSubResultLogoDataListLogoData["Type"].asString();
|
|
|
- if(!dataNodeResultsResultSubResultsSubResultLogoDataListLogoData["Name"].isNull())
|
|
|
|
|
- logoDataListObject.name = dataNodeResultsResultSubResultsSubResultLogoDataListLogoData["Name"].asString();
|
|
|
|
|
if(!dataNodeResultsResultSubResultsSubResultLogoDataListLogoData["X"].isNull())
|
|
if(!dataNodeResultsResultSubResultsSubResultLogoDataListLogoData["X"].isNull())
|
|
|
logoDataListObject.x = std::stof(dataNodeResultsResultSubResultsSubResultLogoDataListLogoData["X"].asString());
|
|
logoDataListObject.x = std::stof(dataNodeResultsResultSubResultsSubResultLogoDataListLogoData["X"].asString());
|
|
|
if(!dataNodeResultsResultSubResultsSubResultLogoDataListLogoData["Y"].isNull())
|
|
if(!dataNodeResultsResultSubResultsSubResultLogoDataListLogoData["Y"].isNull())
|
|
|
logoDataListObject.y = std::stof(dataNodeResultsResultSubResultsSubResultLogoDataListLogoData["Y"].asString());
|
|
logoDataListObject.y = std::stof(dataNodeResultsResultSubResultsSubResultLogoDataListLogoData["Y"].asString());
|
|
|
- if(!dataNodeResultsResultSubResultsSubResultLogoDataListLogoData["Width"].isNull())
|
|
|
|
|
- logoDataListObject.width = std::stof(dataNodeResultsResultSubResultsSubResultLogoDataListLogoData["Width"].asString());
|
|
|
|
|
if(!dataNodeResultsResultSubResultsSubResultLogoDataListLogoData["Height"].isNull())
|
|
if(!dataNodeResultsResultSubResultsSubResultLogoDataListLogoData["Height"].isNull())
|
|
|
logoDataListObject.height = std::stof(dataNodeResultsResultSubResultsSubResultLogoDataListLogoData["Height"].asString());
|
|
logoDataListObject.height = std::stof(dataNodeResultsResultSubResultsSubResultLogoDataListLogoData["Height"].asString());
|
|
|
|
|
+ if(!dataNodeResultsResultSubResultsSubResultLogoDataListLogoData["Width"].isNull())
|
|
|
|
|
+ logoDataListObject.width = std::stof(dataNodeResultsResultSubResultsSubResultLogoDataListLogoData["Width"].asString());
|
|
|
|
|
+ if(!dataNodeResultsResultSubResultsSubResultLogoDataListLogoData["Name"].isNull())
|
|
|
|
|
+ logoDataListObject.name = dataNodeResultsResultSubResultsSubResultLogoDataListLogoData["Name"].asString();
|
|
|
subResultsObject.logoDataList.push_back(logoDataListObject);
|
|
subResultsObject.logoDataList.push_back(logoDataListObject);
|
|
|
}
|
|
}
|
|
|
- auto allSfaceDataListNode = dataNodeResultsResultSubResultsSubResult["SfaceDataList"]["SfaceData"];
|
|
|
|
|
- for (auto dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceData : allSfaceDataListNode)
|
|
|
|
|
|
|
+ auto allProgramCodeDataListNode = dataNodeResultsResultSubResultsSubResult["ProgramCodeDataList"]["ProgramCodeData"];
|
|
|
|
|
+ for (auto dataNodeResultsResultSubResultsSubResultProgramCodeDataListProgramCodeData : allProgramCodeDataListNode)
|
|
|
{
|
|
{
|
|
|
- Data::Result::SubResult::SfaceData sfaceDataListObject;
|
|
|
|
|
- if(!dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceData["X"].isNull())
|
|
|
|
|
- sfaceDataListObject.x = std::stof(dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceData["X"].asString());
|
|
|
|
|
- if(!dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceData["Y"].isNull())
|
|
|
|
|
- sfaceDataListObject.y = std::stof(dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceData["Y"].asString());
|
|
|
|
|
- if(!dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceData["Width"].isNull())
|
|
|
|
|
- sfaceDataListObject.width = std::stof(dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceData["Width"].asString());
|
|
|
|
|
- if(!dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceData["Height"].isNull())
|
|
|
|
|
- sfaceDataListObject.height = std::stof(dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceData["Height"].asString());
|
|
|
|
|
- auto allFacesNode = dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceData["Faces"]["Face"];
|
|
|
|
|
- for (auto dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceDataFacesFace : allFacesNode)
|
|
|
|
|
- {
|
|
|
|
|
- Data::Result::SubResult::SfaceData::Face facesObject;
|
|
|
|
|
- if(!dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceDataFacesFace["Name"].isNull())
|
|
|
|
|
- facesObject.name = dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceDataFacesFace["Name"].asString();
|
|
|
|
|
- if(!dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceDataFacesFace["Rate"].isNull())
|
|
|
|
|
- facesObject.rate = std::stof(dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceDataFacesFace["Rate"].asString());
|
|
|
|
|
- if(!dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceDataFacesFace["Id"].isNull())
|
|
|
|
|
- facesObject.id = dataNodeResultsResultSubResultsSubResultSfaceDataListSfaceDataFacesFace["Id"].asString();
|
|
|
|
|
- sfaceDataListObject.faces.push_back(facesObject);
|
|
|
|
|
- }
|
|
|
|
|
- subResultsObject.sfaceDataList.push_back(sfaceDataListObject);
|
|
|
|
|
|
|
+ Data::Result::SubResult::ProgramCodeData programCodeDataListObject;
|
|
|
|
|
+ if(!dataNodeResultsResultSubResultsSubResultProgramCodeDataListProgramCodeData["X"].isNull())
|
|
|
|
|
+ programCodeDataListObject.x = std::stof(dataNodeResultsResultSubResultsSubResultProgramCodeDataListProgramCodeData["X"].asString());
|
|
|
|
|
+ if(!dataNodeResultsResultSubResultsSubResultProgramCodeDataListProgramCodeData["Y"].isNull())
|
|
|
|
|
+ programCodeDataListObject.y = std::stof(dataNodeResultsResultSubResultsSubResultProgramCodeDataListProgramCodeData["Y"].asString());
|
|
|
|
|
+ if(!dataNodeResultsResultSubResultsSubResultProgramCodeDataListProgramCodeData["Height"].isNull())
|
|
|
|
|
+ programCodeDataListObject.height = std::stof(dataNodeResultsResultSubResultsSubResultProgramCodeDataListProgramCodeData["Height"].asString());
|
|
|
|
|
+ if(!dataNodeResultsResultSubResultsSubResultProgramCodeDataListProgramCodeData["Width"].isNull())
|
|
|
|
|
+ programCodeDataListObject.width = std::stof(dataNodeResultsResultSubResultsSubResultProgramCodeDataListProgramCodeData["Width"].asString());
|
|
|
|
|
+ subResultsObject.programCodeDataList.push_back(programCodeDataListObject);
|
|
|
}
|
|
}
|
|
|
auto allOCRDataList = value["OCRDataList"]["OCRData"];
|
|
auto allOCRDataList = value["OCRDataList"]["OCRData"];
|
|
|
for (auto value : allOCRDataList)
|
|
for (auto value : allOCRDataList)
|