我正在使用此代码将其添加到我现有的JSON文件中。但是,当我想将另一个项目添加到JSON文件中的项目列表时,它会完全覆盖我的JSON文件,并仅在其中放置一个JSON对象。我该如何解决?
Json::Value root;
root[h]["userM"] = m;
root[h]["userT"] = t;
root[h]["userF"] = f;
root[h]["userH"] = h;
root[h]["userD"] = d;
Json::StreamWriterBuilder builder;
std::unique_ptr<Json::StreamWriter> writer(builder.newStreamWriter());
std::ofstream outputFileStream("messages.json");
writer-> write(root, &outputFileStream);
答案 0 :(得分:1)
我的建议是
Json::Value
Json::Value
执行此操作将是最不容易出错的方法,除非您有一个很大的Json
文件,否则它将很快起作用。
这很简单!我们创建根目录,然后仅使用>>
运算符读取文件。
Json::Value readFile(std::istream& file) {
Json::Value root;
Json::Reader reader;
bool parsingSuccessful = reader.parse( file, root );
if(not parsingSuccessful) {
// Handle error case
}
return root;
}
有关更多信息,请参见this documentation here