如何将此字符串读入 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++ 源代码)不应包含转义字符。
我有这样一个 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++ 源代码)不应包含转义字符。