使用C++语言重新回答
时间: 2023-08-03 13:07:30 浏览: 87
C++问题解答
好的,以下是使用 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,需要下载相应的头文件和源文件。
阅读全文