您需要保存更改回原來的文件:
string resultJson = String.Empty;
using (StreamReader r = new StreamReader("C:/Files/generated.json"))
{
string json = r.ReadToEnd();
var result = JsonConvert.DeserializeObject<List<Form>>(json);
foreach (var item in result)
{
if (item.id == FormtoSave.id)
{
item.Title = FormtoSave.Title;
item.body = FormtoSave.body;
}
}
resultJson = JsonConvert.SerializeObject(result);
}
File.WriteAllText("C:/Files/generated.json", resultJson);
我做了using
所以該文件是不是還由StreamReader
鎖定外的寫作。
或者不使用StreamReader
:
string path = "C:/Files/generated.json";
var result = JsonConvert.DeserializeObject<List<Form>>(File.ReadAllText(path));
foreach (var item in result)
{
if (item.id == FormtoSave.id)
{
item.Title = FormtoSave.Title;
item.body = FormtoSave.body;
}
}
File.WriteAllText(path, JsonConvert.SerializeObject(result));
你可能想將結果轉換回JSON –
是的,我想保存修改我做的json文件 – user3542017
@ user3542017:你有什麼試圖保存修改? – Flater