C++14 解析json
时间: 2023-07-07 20:45:16 浏览: 97
在C++14标准库中并没有提供原生的JSON解析器,但是可以使用第三方库来解析JSON,比如RapidJSON、nlohmann/json等。
下面是使用nlohmann/json库解析JSON的简单示例程序:
```cpp
#include <iostream>
#include <fstream>
#include "json.hpp"
using json = nlohmann::json;
int main()
{
std::ifstream json_file("example.json");
json j;
json_file >> j;
std::string name = j["name"];
int age = j["age"];
std::vector<std::string> hobbies = j["hobbies"];
std::cout << "Name: " << name << std::endl;
std::cout << "Age: " << age << std::endl;
std::cout << "Hobbies: ";
for (const auto& hobby : hobbies)
{
std::cout << hobby << " ";
}
std::cout << std::endl;
return 0;
}
```
在这个示例中,我们使用了nlohmann/json库来解析名为`example.json`的JSON文件。我们首先打开文件并读取其内容到一个json对象j中。
然后我们可以使用数组访问语法来获取JSON对象中的字段值,比如`j["name"]`获取名为`name`的字段的值。注意,如果字段不存在或者字段类型不匹配,会抛出异常。
最后,我们输出解析结果,这里我们获取了名字、年龄和爱好三个字段的值,并将爱好的值以空格分隔输出。
需要注意的是,使用第三方库解析JSON可能会增加项目的依赖性,因此需要谨慎选择。
阅读全文