Вы можете загрузить файл как Json::Value
объект и добавить его туда.Обратите внимание, что для этого фрагмента кода json должен иметь массив в качестве элемента верхнего уровня в файле, например:
messageLogs.json
[]
main.cpp
#include <iostream>
#include <fstream>
#include <json/json.h>
int main(int argc, char* argv[])
{
std::fstream m_file;
m_file.open ("messageLogs.json", std::ios::in);
Json::Reader reader;
Json::Value json_obj;
if(!reader.parse(m_file, json_obj, true))
{
// json file must contain an array
std::cerr << "could not parse the json file" << std::endl;
return -1;
}
m_file.close();
Json::Value m_event;
m_event["messages"]["time"] = "19:22";
m_event["messages"]["message"] = "Some message";//msg;
// append to json object
json_obj.append(m_event);
std::cout << json_obj.toStyledString() << std::endl;
// write updated json object to file
m_file.open("messageLogs.json", std::ios::out);
m_file << json_obj.toStyledString() << std::endl;
m_file.close();
return 0;
}