c++ - C++中json文件的简单输出?

标签 c++ json parsing

我是 C++ 的新手,在处理 json 文件时遇到了问题。我正在使用 Xcode(6.4 版)。例如,我的 json 文件的格式与此类似:

[
 {
  "assignmentName": "Physics 1",
  "dueDate": "2015-10-15T20:11:20Z",
  "priority": "High",
 },
 {
  "assignmentName": "Research Paper",
  "dueDate": "2015-11-18T00:40:25Z",
  "priority": "Low"
 }
]

我尝试做的一个例子是编写代码来查找我的 json 文件中的信息。如果我想打印 2015 年 11 月 11 日到期的作业的名称,我希望我的输出是“研究论文”。

过去几天我一直在研究这个问题,但一直卡壳。我已经查看了 http://www.json.org并查看了 C++ 下列出的 json 解析器。我曾尝试与他们合作,但 (1) 他们的代码对我来说太复杂了(我不理解语法,即使在阅读了他们的示例之后)或 (2) 我被要求使用其他库.在查看了 C++ 列表下的每个解析器之后,json(https://github.com/nlohmann/json)似乎是我使用的最简单的解析器,但我仍然感到很迷茫。

我正在寻找简单的东西。我想要做的就是输出我在 json 文件中调用的任何变量的值(调用“assignmentName”,打印“Physics 1”)。

通过与一位 friend 交谈并模糊地试图理解解析器,似乎为了让我在我的 json 文件中获取某个变量的值,我需要实际将我的 json 文件的内容粘贴到我的 Xcode 项目中.这是真的吗?

如果有人可以指导我使用这些解析器的更好的解析器、更好的方法或某种语法字典,我们将不胜感激!

最佳答案

有了你提到的json库,相关代码应该是

#include "json.hpp"
#include <iostream>

using json = nlohmann::json;
// ... In some method, e.g. main...
std::ifstream file = {"yourfilename.json"};
json obj;
file >> obj;
std::cout << obj[0]["dueDate"]; // Debug output
// End of code

关于c++ - C++中json文件的简单输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32939253/

相关文章:

c++ - 选择 X 或 O 移动井字游戏

ios - Appium 与 MochaJS "Not JSON response"尝试运行 iOS 测试时

javascript - 将字节顺序标记添加到通过 PapaParse 解析的 CSV

javascript - Python Pandas read_excel 和 to_json 日期格式错误

python删除字符串中的图像只获取字母和数字

javascript - 解析 JSON 中的特定值以进行 ajax

C++ 更快的字符串解析?

c++ - GNU GMP 中 mpz_class 的 sizeinbase

c++ - 创建 C++ 图形用户界面 : What is the easiest way to do it?

c++ - 非常量引用的无效初始化