gpt4 book ai didi

c# - 更改 JSON 文件中的值(写入文件)

转载 作者:IT王子 更新时间:2023-10-29 04:41:11 24 4
gpt4 key购买 nike

我的应用程序的 Release 文件夹中有一个 settings.json 文件。我想做的是改变它的值(value),而不是暂时的,永久的。这意味着,删除旧的条目,写一个新的并保存它。

这是JSON文件的格式

{
"Admins":["234567"],
"ApiKey":"Text",
"mainLog": "syslog.log",
"UseSeparateProcesses": "false",
"AutoStartAllBots": "true",
"Bots": [
{
"Username":"BOT USERNAME",
"Password":"BOT PASSWORD",
"DisplayName":"TestBot",
"Backpack":"",
"ChatResponse":"Hi there bro",
"logFile": "TestBot.log",
"BotControlClass": "Text",
"MaximumTradeTime":180,
"MaximumActionGap":30,
"DisplayNamePrefix":"[AutomatedBot] ",
"TradePollingInterval":800,
"LogLevel":"Success",
"AutoStart": "true"
}
]
}

假设我想更改密码值而不是 BOT PASSWORD 我希望它只是密码。我该怎么做?

最佳答案

这是一种简单且廉价的方法(假设 .NET 4.0 及更高版本):

string json = File.ReadAllText("settings.json");
dynamic jsonObj = Newtonsoft.Json.JsonConvert.DeserializeObject(json);
jsonObj["Bots"][0]["Password"] = "new password";
string output = Newtonsoft.Json.JsonConvert.SerializeObject(jsonObj, Newtonsoft.Json.Formatting.Indented);
File.WriteAllText("settings.json", output);

dynamic 的使用让您可以非常简单地直接索引到 json 对象和数组。但是,您确实会错过编译时检查。对于快速和肮脏的它真的很好,但对于生产代码,您可能需要按照@gitesh.tyagi 的解决方案完全充实的类。

关于c# - 更改 JSON 文件中的值(写入文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21695185/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com