Refactor JSON::addDictionaryMember

This commit is contained in:
m-holger 2023-01-28 14:32:01 +00:00 committed by Jay Berkenbilt
parent dce43d4f7f
commit 1787d85096
1 changed files with 4 additions and 8 deletions

View File

@ -266,17 +266,13 @@ JSON::makeDictionary()
JSON
JSON::addDictionaryMember(std::string const& key, JSON const& val)
{
JSON_dictionary* obj = dynamic_cast<JSON_dictionary*>(this->m->value.get());
if (nullptr == obj) {
if (auto* obj = dynamic_cast<JSON_dictionary*>(this->m->value.get())) {
return obj->members[encode_string(key)] =
val.m->value ? val.m->value : std::make_shared<JSON_null>();
} else {
throw std::runtime_error(
"JSON::addDictionaryMember called on non-dictionary");
}
if (val.m->value.get()) {
obj->members[encode_string(key)] = val.m->value;
} else {
obj->members[encode_string(key)] = std::make_shared<JSON_null>();
}
return obj->members[encode_string(key)];
}
bool