我有使用 Boost 库的简单 C++ 代码:
auto jsonStringPtr = jsonValuePtr->if_string();
Run Code Online (Sandbox Code Playgroud)
如何将此值转换为不带引号的 std::string ?
我测试了这段代码:
std::string myString = boost::json::serialize(*jsonStringPtr);
Run Code Online (Sandbox Code Playgroud)
但它包含引号,例如“abc”插入 abc...有什么想法吗?
#编辑
例子:
boost::json::error_code errorCode;
boost::json::value jsonValue = boost::json::parse("{\"fff\": \"abc\"}", errorCode);
auto jsonString = jsonValue.as_object()["fff"].as_string();
std::string myString = boost::json::serialize(jsonString);
Run Code Online (Sandbox Code Playgroud)
我找到了解决方案:
boost::json::value_to<std::string>(jsonValue)
Run Code Online (Sandbox Code Playgroud)