【发布时间】:2021-10-11 16:47:01
【问题描述】:
使用 Newston.Json 将余额存储到银行帐户。当我添加新条目时,它会替换旧条目,我想将键值对附加到现有记事本文件中,而不是替换旧余额。
Key = 银行名称和账户
价值 = 平衡
全局变量
List<KeyValuePair<string, float>> vals3 = new List<KeyValuePair<string, float>>();
// 现在向账户添加余额
BankWithAccount = BankList.Text + AccountNotextBox1.Text;
balance = float.Parse(BalanceTxtBox.Text);
vals3.Add(new KeyValuePair<string, float>(BankWithAccount, balance));
using (StreamWriter sw = File.CreateText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Balances.txt")))
{
string json = JsonConvert.SerializeObject(vals3);
sw.Write(json);
}
【问题讨论】:
-
你是追加键值还是json?
-
A well-formed JSON file 有一个根值(对象、数组或基元),因此您不能向其附加键/值对。您必须解析并插入它。如果您需要频繁写入和偶尔阅读(例如,在写入日志文件时),作为 JSON 的替代方案,您可以考虑使用换行符分隔的 JSON,请参阅 Serialize as NDJSON using Json.NET 和 Line delimited json serializing and de-serializing。
标签: c# json dictionary json.net key-value