从JSON字符串C ++ RapidJson获取键值

时间:2016-07-21 18:00:52

标签: c++ json rapidjson

我将以下内容存储在一个字符串中。我想获取" errorType"的值。由此。我怎么能用RapidJson做到这一点?

{
"id": "9a1eaff0-5339-49ff-86cb-9c76809b3d48",
"timestamp": "2016-07-21T16:11:27.995Z",
"result": {
"source": "agent",
"resolvedQuery": "current time",
"contexts": [],
"metadata": {},
"fulfillment": {
  "speech": ""
},
"score": 0.0
},
"status": {
"code": 200,
"errorType": "success"
},
"asr": {
"current time": 0.9035825
},
"sessionId": "1234567890"
}

我尝试使用此代码,但它没有工作:

const std::string s = json;

regex rgx(".*\"errorType\":\s\"(\\w+)\".*");
smatch match;

if (std::regex_search(s.begin(), s.end(), match, rgx))
    printf("Value of errortype is : %s\n", match[1]);

它没有打印任何值,因为它没有工作。

如何解决此问题?

我想避免使用任何JSON解析器。但我对我的实施很灵活。

0 个答案:

没有答案