如何将json数组{ "name": "John", "age": 30 }, { "name": "Jane", "age": 25 }, { "name": "Bob", "age": 40 },...存储到C++结构体
时间: 2023-11-11 07:05:34 浏览: 40
可以使用C++的json库,例如nlohmann/json,将json数组转换为C++结构体。具体步骤如下:
1. 在C++项目中添加nlohmann/json库。
2. 使用json库的parse函数将json数组解析为json对象。
3. 定义一个结构体,包含与json对象中相同的属性。
4. 使用json对象的get函数将属性值赋给结构体的属性。
5. 将结构体存储在C++中。
代码示例:
```c++
#include <iostream>
#include <nlohmann/json.hpp>
using json = nlohmann::json;
struct Person {
std::string name;
int age;
};
int main() {
std::string jsonStr = R"([{"name":"John","age":30},{"name":"Jane","age":25},{"name":"Bob","age":40}])";
json j = json::parse(jsonStr);
std::vector<Person> persons;
for (auto& item : j) {
Person p;
p.name = item["name"].get<std::string>();
p.age = item["age"].get<int>();
persons.push_back(p);
}
// 输出结果
for (auto& p : persons) {
std::cout << "Name: " << p.name << ", Age: " << p.age << std::endl;
}
return 0;
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)