正确的解析JSON值的方法vie cpprestsdk

时间:2017-12-11 15:19:05

标签: c++ json parsing cpprest-sdk

试图找出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;
            }
        }
    }
    

代码数量的差异是显而易见的。我应该打扰错误检查还是第一种方法就足够了?

1 个答案:

答案 0 :(得分:0)

这个问题可能最适合https://codereview.stackexchange.com/,但是如果你需要优雅地处理错误,你应该更喜欢具有强大错误处理的代码。