我是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”)。
从与朋友交谈并模糊地试图理解解析器,似乎为了让我在我的json文件中获取某个变量的值,我需要实际将我的json文件的内容粘贴到我的Xcode项目中。这是真的吗?
如果有人可以指导我使用更好的解析器,更好的方法或某些语法字典,我们将非常感激!
答案 0 :(得分:1)
使用你提到的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