std::string dataType;
for (auto& key : keys) {
- // Get type
- if (tmplJson[key].isMember(CT_TYPE_ENUM)) {
- success = tmplJson[key][CT_TYPE_ENUM].isArray();
- IF_FAIL_RETURN_TAG(success, false, _E, "Invalid template");
- dataType = CT_TYPE_ENUM;
- } else if (tmplJson[key].isMember(CT_KEY_TYPE)) {
- dataType = tmplJson[key][CT_KEY_TYPE].asString();
- IF_FAIL_RETURN_TAG(dataType == CT_TYPE_INTEGER || dataType == CT_TYPE_STRING,
- false, _E, "Invalid template");
+ try {
+ if (tmplJson[key].isMember(CT_TYPE_ENUM)) {
+ success = tmplJson[key][CT_TYPE_ENUM].isArray();
+ IF_FAIL_RETURN_TAG(success, false, _E, "Invalid template");
+ dataType = CT_TYPE_ENUM;
+ }
+ else if (tmplJson[key].isMember(CT_KEY_TYPE)) {
+ dataType = tmplJson[key][CT_KEY_TYPE].asString();
+ IF_FAIL_RETURN_TAG(dataType == CT_TYPE_INTEGER || dataType == CT_TYPE_STRING,
+ false, _E, "Invalid template");
+ }
+ } catch (Json::Exception const& e) {
+ _E("Invalid template(%s)", e.what());
+ return false;
}
if (dataType == CT_TYPE_INTEGER) {