试图找出JSON值解析的一般方法。
无错误检查:
myField = jsonValue["myField"].as_string();`
错误检查:
if (jsonValue.is_null())
return false;
if (!jsonValue.is_object())
return false;
for (auto it = jsonValue.as_object().cbegin(); it != jsonValue.as_object().cend(); ++it)
{
const std::string& str = it->first;
const json::value& v = it->second;
if (str == "myField")
{
if (v.is_string())
{
myField = v.as_string();
continue;
}
else
{
return false;
}
}
}
代码数量的差异是显而易见的。我应该打扰错误检查还是第一种方法就足够了?
答案 0 :(得分:0)
这个问题可能最适合https://codereview.stackexchange.com/,但是如果你需要优雅地处理错误,你应该更喜欢具有强大错误处理的代码。