使用C++语言重新回答
时间: 2023-08-03 15:07:30 浏览: 49
好的,以下是使用 C++ 读取具有多个根节点的 JSON 文件,并将它们依次存储到列表中的示例代码:
```cpp
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include "json.hpp"
using json = nlohmann::json;
int main() {
std::ifstream file("your_file.json");
std::string content((std::istreambuf_iterator<char>(file)),
std::istreambuf_iterator<char>());
std::vector<json> json_list;
size_t pos = 0;
while (pos < content.size()) {
size_t end_pos = content.find('\n', pos);
if (end_pos == std::string::npos) {
end_pos = content.size();
}
std::string json_str = content.substr(pos, end_pos - pos);
try {
json obj = json::parse(json_str);
json_list.push_back(obj);
} catch (json::parse_error& e) {
// JSON 对象解析失败
}
pos = end_pos + 1;
}
return 0;
}
```
注:这里使用了第三方 JSON 库 nlohmann/json,需要下载相应的头文件和源文件。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.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)