正确解析JSON值VIE CPPRESTSDK
Correct way to parse JSON values vie cpprestsdk
试图找出一种通用的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; } } }
代码量的差异很明显。我应该打扰错误检查还是第一种方法就足够了?
这个问题可能最适合在https://codereview.stackexchange.com/上,但是如果您需要优雅地处理错误,则应该更喜欢具有强大错误处理的代码。
相关文章:
- Casablanca/cpprestsdk listener.support接受函数,但不支持方法
- 将 cpprestsdk json 值对象写入文件
- CMake cpprestsdk
- 将Windows身份验证与cpprestsdk一起使用
- CPPRestSdk给出错误SSL错误:WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CA
- 如何使用 Xcode 8.2.1 在我的项目中添加 cpprestsdk 库
- Microsoft/CppRestSDK Casablanca, Visual Studio 2017
- 如何使用 C++ 中的 cpprestsdk 发布 json 数据并从本地服务器获取响应
- TLS with http_listener in Microsoft cpprestsdk on Windows
- CPPrestsdk (Casablanca) JSON 值到 std::vector<unsigned char>
- 如何保持服务器运行(cpprestsdk - casablanca)
- 使用 /clr 或 clr:pure (cpprestsdk aka casablanca) 编译时不支持互斥
- cmake在Windows上与CPPRESTSDK链接
- HTTP异常::无法连接到任何解决的端点-CPPRESTSDK
- cpprestsdk http_listener忽略 # 之后的所有内容
- CppRestSDK 如何发布多部分数据
- 如何使用 cpprestsdk 从websocket_client解析 json 数据
- 使用CPPRESTSDK将字符串转换为Web :: JSON
- 无法构建cpprestsdk
- 正确解析JSON值VIE CPPRESTSDK