我希望更改 json 文件中每个 json 记录的特定属性。当方法完成执行时,我想将“Completed”属性更改为“true”。
我的 json 文件如下所示:
{
"LoanRecords": [
{
"LoanGUID": "{70dbec7e-5e94-460d-831c-0a5dc2d085e2}",
"RecordDT": "2020-11-10T14:44:34.378Z",
"Completed": "false",
"Environment": "TEBE",
"ProcessType": "RateLock"
},
{
"LoanGUID": "{70dbec7e-5e94-460d-831c-0a5dc2d085e2}",
"RecordDT": "2020-11-10T14:53:12.187Z",
"Completed": "false",
"Environment": "TEBE",
"ProcessType": "RateLock"
}
]
}
我的 C# 代码如下:
private void ExecuteEvent(object sender, ElapsedEventArgs e)
{
string fileRecord = File.ReadAllText(jsonfile);
LoanRecordRoot LoanRecord = JsonConvert.DeserializeObject<LoanRecordRoot>(fileRecord);
foreach (var rec in LoanRecord.LoanRecords)
{
if (rec.Completed == "false")
{
bool recordModified = ManipulateEncompass(rec.LoanGUID, rec.ProcessType);
if (recordModified)
{
// What should I do here to update "rec.Completed" to "true"
// for this particular record and write it back to the json file
// for that specific entry?
}
}
}
Console.WriteLine("Successfully manipulated records!");
}
有没有办法将“foreach”迭代中特定记录的“Completed”属性翻转为“true”,并相应地更新该特定记录的 json 文件?我希望避免读取整个文件、反序列化、更改属性,然后将整个内容写回 json 文件,我希望在“foreach”循环中翻转每个记录的特定属性。 - 我希望这是有道理的。
我看过类似的问题,这些问题似乎与我正在寻找的内容很接近,但我看到的示例并没有反映在不覆盖文件内容的情况下专门写回 json 文件 - 除非这个特定操作不是“不可能,或者我无法理解整个过程(很有可能。)
接近我正在寻找的解决方案的示例:如何使用 NewtonSoft 更新 JSON 对象的属性 https://stackoverflow.com/questions/22853066/how-to-update-a-property-of-a-json-object-using-newtonsoft——但似乎不太符合我想做的事情。
预先感谢您提供任何有用的线索!