Я новичок в c ++ и пытаюсь использовать библиотеку nlohmann, и я довольно застрял. Я хочу изменить массив объектов из json.
json = { "a": "xxxx",
"b": [{ "c": "aaa",
"d": [{ "e": "yyy" },
{ "e": "sss", "f": "fff" }]}]}
, теперь я хочу заменить значение e
на "пример" в приведенной выше структуре. Может ли кто-нибудь помочь мне.
Я пытался провести l oop через структуру json и смог прочитать значение "e", но не смог его заменить. Я попробовал: `
std::vector<std::string> arr_value;
std::ifstream in("test.json");
json file = json::parse(in);
for (auto& td : file["b"])
for (auto& prop : td["d"])
arr_value.push_back(prop["e"]);
//std::cout<<"prop" <<prop["e"]<< std::endl;
for (const auto& x : arr_value)
std::cout <<"value in vector string= " <<x<< "\n";
for (decltype(arr_value.size()) i = 0; i <= arr_value.size() - 1; i++)
{
std::string s = arr_value[i]+ "emp";
std::cout <<"changed value= " <<s << std::endl;
json js ;
js = file;
std::ofstream out("test.json");
js["e"]= s;
out << std::setw(4) << js << std::endl;
}