DescribeTrainResultResult.cc 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. /*
  2. * Copyright 2009-2017 Alibaba Cloud All rights reserved.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. #include <alibabacloud/ivision/model/DescribeTrainResultResult.h>
  17. #include <json/json.h>
  18. using namespace AlibabaCloud::Ivision;
  19. using namespace AlibabaCloud::Ivision::Model;
  20. DescribeTrainResultResult::DescribeTrainResultResult() :
  21. ServiceResult()
  22. {}
  23. DescribeTrainResultResult::DescribeTrainResultResult(const std::string &payload) :
  24. ServiceResult()
  25. {
  26. parse(payload);
  27. }
  28. DescribeTrainResultResult::~DescribeTrainResultResult()
  29. {}
  30. void DescribeTrainResultResult::parse(const std::string &payload)
  31. {
  32. Json::Reader reader;
  33. Json::Value value;
  34. reader.parse(payload, value);
  35. setRequestId(value["RequestId"].asString());
  36. auto trainResultNode = value["TrainResult"];
  37. if(!trainResultNode["ProjectId"].isNull())
  38. trainResult_.projectId = trainResultNode["ProjectId"].asString();
  39. if(!trainResultNode["IterationId"].isNull())
  40. trainResult_.iterationId = trainResultNode["IterationId"].asString();
  41. if(!trainResultNode["IterationName"].isNull())
  42. trainResult_.iterationName = trainResultNode["IterationName"].asString();
  43. if(!trainResultNode["Precision"].isNull())
  44. trainResult_.precision = trainResultNode["Precision"].asString();
  45. if(!trainResultNode["Recall"].isNull())
  46. trainResult_.recall = trainResultNode["Recall"].asString();
  47. if(!trainResultNode["MAP"].isNull())
  48. trainResult_.mAP = trainResultNode["MAP"].asString();
  49. if(!trainResultNode["Threshold"].isNull())
  50. trainResult_.threshold = trainResultNode["Threshold"].asString();
  51. if(!trainResultNode["Status"].isNull())
  52. trainResult_.status = trainResultNode["Status"].asString();
  53. if(!trainResultNode["StartTime"].isNull())
  54. trainResult_.startTime = trainResultNode["StartTime"].asString();
  55. if(!trainResultNode["EndTime"].isNull())
  56. trainResult_.endTime = trainResultNode["EndTime"].asString();
  57. if(!trainResultNode["ErrorCode"].isNull())
  58. trainResult_.errorCode = trainResultNode["ErrorCode"].asString();
  59. if(!trainResultNode["ErrorMessage"].isNull())
  60. trainResult_.errorMessage = trainResultNode["ErrorMessage"].asString();
  61. auto allTagResults = value["TagResults"]["TagResult"];
  62. for (auto value : allTagResults)
  63. {
  64. TrainResult::TagResult tagResultObject;
  65. if(!value["TagId"].isNull())
  66. tagResultObject.tagId = value["TagId"].asString();
  67. if(!value["TagName"].isNull())
  68. tagResultObject.tagName = value["TagName"].asString();
  69. if(!value["Precision"].isNull())
  70. tagResultObject.precision = value["Precision"].asString();
  71. if(!value["Recall"].isNull())
  72. tagResultObject.recall = value["Recall"].asString();
  73. if(!value["AP"].isNull())
  74. tagResultObject.aP = value["AP"].asString();
  75. trainResult_.tagResults.push_back(tagResultObject);
  76. }
  77. }
  78. DescribeTrainResultResult::TrainResult DescribeTrainResultResult::getTrainResult()const
  79. {
  80. return trainResult_;
  81. }