当前位置: 首页 > 知识库问答 >
问题:

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

逑兴安
2023-03-14

我是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个答案

殷宇
2023-03-14

最直接的就是

编译器资源管理器

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

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

 类似资料:
  • 本文向大家介绍浅谈JS中json数据的处理,包括了浅谈JS中json数据的处理的使用技巧和注意事项,需要的朋友参考一下 1、 json数据结构(对象和数组) json对象:var obj = {"name":"xiao","age":12}; json数组:var objArray = [{"name":"xiao","age":12},{"name":"xiao","age":12}]; 2、

  • 本书是对 Boost C++ 库的介绍,Boost 库通过加入一些在实践中非常有用的函数对 C++ 标准进行了补充。 由于 Boost C++ 库是基于 C++ 标准的,所以它们是使用最先进的 C++ 来实现的。 它们是平台独立的,并由于有一个大型的开发人员社区,它可以被包括 Windows 和 Linux 在内的许多操作系统所支持。 Boost C++ 库可以提升你作为一个 C++ 开发人员的生

  • 问题内容: HTTP服务器向我发送JSON响应(字符串),如下所示: 我想将此“远程文件夹的树”与本地文件夹树(例如,包含本地文件位置的字符串向量)进行比较,因此我想在(string,vector(map(string ,string)))(我不知道是否可行)。 我正在开发一种工具来在本地文件夹和远程文件夹之间同步文件,因此我正在使用boost列出本地文件夹,并且我想将本地列表与远程列表(JSON

  • 一个HTTP服务器发送给我一个JSON响应(一个字符串),如下所示: 我想将这个“远程文件夹的树”与本地文件夹树(例如包含我的本地文件的位置的字符串向量)进行比较,所以我想在(string,vector ( map(string,string))(我不知道这是否可能)的地图上转换这个JSON。 我正在开发一个工具来同步本地和远程文件夹之间的文件,因此我正在使用boost列出本地文件夹,并且我想将本

  • 本文向大家介绍json数据处理及数据绑定,包括了json数据处理及数据绑定的使用技巧和注意事项,需要的朋友参考一下 一.json数据处理 1.json数据 2.获取数据 数据注入:"{{data}}" 3.数据处理: 4.数据绑定 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!

  • 数据库的内容和使用: 本篇讲述如何利用脚本来使用RPGXP的数据库。 新建一个游戏工程,按F11打开[脚本编辑器],在左边的目录,寻找 Scene_Title 名字的脚本,它的内容有如下的部分: # 载入数据库 $data_actors = load_data("Data/Actors.rxdata") $data_classes = load_data("Data/Classes.rxdata"