如何将此字符串读入 jsoncpp 的 Json::Value

How to read this string into jsoncpp 's Json::Value

我有这样一个 json 字符串 :

{"status":0,"bridge_id":"bridge.1","b_party":"85267191234","ref_id":"20180104151432001_0","function":{"operator_profile":{"operator":"aaa.bbb"},"subscriber_profile":{"is_allowed":true,"type":8},"name":"ServiceAuthen.Ack"},"node_id":"aaa.bbb.collector.1"}

如何将它读入 jsoncpp lib 的 Json::Value 对象?

我通过搜索Whosebug找到了这样的代码:

    std::string strJson = "{\"mykey\" : \"myvalue\"}"; // need escape the quotes

Json::Value root;   
Json::Reader reader;
bool parsingSuccessful = reader.parse( strJson.c_str(), root );     //parse process
if ( !parsingSuccessful )
{
    std::cout  << "Failed to parse"
           << reader.getFormattedErrorMessages();
    return 0;
}
std::cout << root.get("mykey", "A Default Value if not exists" ).asString() << std::endl;
return 0;

但是如何将我的字符串转换成这种形式?

{\"mykey\" : \"myvalue\"}

感谢您的帮助。

你不知道。

斜杠字符是用于在 C++ 源代码 中表示 " 的转义字符(如果没有它们," 将表示 "This is the end of this C++ string literal" ).

JSON(不是 C++ 源代码)不应包含转义字符。