我尝试使用JSON for Modern C ++搜索如何获取数组fron json,但我无法找到答案。
我有这样的json:
{
"Command": "cmd",
"Data":{"time": 200, "type":1},
...
}
我想问一下如何使用键"数据"来获取对象,如何存储它以及如何访问它的元素(数据中的元素和键的数量可以根据命令而改变)。
感谢您的帮助
答案 0 :(得分:8)
您可以将json文件读取到json对象中:
std::ifstream jsonFile("commands.json");
nlohmann::json commands;
jsonFile >> commands;
检索“数据”对象(并打印它包含的元素数量):
nlohmann::json data = commands["Data"];
std::cout << "Number of items in Data: " << data.size() << std::endl;
最后循环遍历“数据”中的所有键和值:
for (auto it = data.begin(); it != data.end(); ++it)
{
std::cout << it.key() << ": " << it.value() << std::endl;
}