我正在将 json 用于现代 C++。我有一个 json 文件,其中包含一些数据,例如:
{
"London": {
"Adress": "londonas iela 123",
"Name": "London",
"Shortname": "LL"
},
"Riga": {
"Adrese": "lidostas iela 1",
"Name": "Riga",
"Shortname": "RIX"
}
我找到了一种修改“Adrese”、“Name”、“Shortname”值的方法。如您所见,我将“名称”和关键元素名称设置为相同的东西。
但我需要更改关键元素和值“名称”。
所以最后当我以某种方式在代码中修改它时,它看起来像:
{
"Something_New": {
"Adress": "londonas iela 123",
"Name": "Something_New",
"Shortname": "LL"
},
"Riga": {
"Adrese": "lidostas iela 1",
"Name": "Riga",
"Shortname": "RIX"
}
我试过了:
/other_code/
json j
/functions_for_opening_json file/
j["London"]["Name"] = "Something_New"; //this changes the value "name"
j["London"] = "Something_New"; //But this replaces "London" with
"Something_new" and deletes all of its inside values.
然后我尝试了类似的东西:
for(auto& el : j.items()){
if(el.key() == "London"){
el.key() = "Something_New";}
}
但这也没有用。
我想要 j["London"] = "Something_new" 之类的东西,并让它保留原来为 "London" 的所有值。