提问者:小点点

C++14(Boost)中的JSON数据处理


我是c++的新手(我大部分时间都使用嵌入c)。我有这样的JSON数据:

[10, 
"Session" ,
{"currentYear":"2048","accidents":10,"status":"Accepted"}]

我正在尝试处理此数据:

boost::json::value testVal;
boost::json::error_code ec;
testVal = boost::json::parse(data, ec);

因此,我在testVal中有多个项目,我需要从testVal获取object来测试如下所示的内容:

boost::json::object testObj = testVal.get_object();
if(testObj.at("currentYear") == "2048")
{
// Do Something
}

但我无法获得对象的实例,哪里是我正在寻找的数据。

知道如何检查(使用Boost::JSON)当前年份的数据是否为2048吗?

谢谢你的帮助。


共1个答案

匿名用户

最直接的就是

编译器资源管理器

for (auto& element : testVal.as_array()) {
    if (!element.is_object())
        continue;
    if (element.as_object()["currentYear"].as_string() == "2048") {
        std::cout << element << std::endl;
    }
}

但我建议使用图书馆的转换设施。(稍后将添加示例)

相关问题


MySQL Query : SELECT * FROM v9_ask_question WHERE 1=1 AND question regexp '(c++14|boost|中|json|数据处理)' ORDER BY qid DESC LIMIT 20
MySQL Error : Got error 'repetition-operator operand invalid' from regexp
MySQL Errno : 1139
Message : Got error 'repetition-operator operand invalid' from regexp
Need Help?