You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WPF/C#使用Newtonsoft.Json修改JSON布尔值前如何添加判断条件

实现方案

你只需要在修改值前先读取JToken的布尔值做状态校验即可,以下是修改后的完整代码:

private void Activate_Click(object sender, RoutedEventArgs e)
{
    string myfile = "myfile.json";
    if (File.Exists(myfile))
    {
        string jsonString = File.ReadAllText(myfile);
        JObject jObject = JsonConvert.DeserializeObject(jsonString) as JObject;
        JToken jToken = jObject.SelectToken("option1");
        // 新增空值判断,避免目标配置项不存在时报错
        if (jToken == null)
        {
            MessageBox.Show("目标配置项不存在");
            return;
        }
        // 新增布尔值判断逻辑
        if (jToken.Value<bool>())
        {
            MessageBox.Show("该值已经为true");
            return;
        }
        jToken.Replace(true);
        string updatedJsonString = jObject.ToString();
        File.WriteAllText(myfile, updatedJsonString);
        MessageBox.Show("Option true");
    }
    else
    {
        MsgError();
    }
}
补充说明
  • 禁用按钮的逻辑可以直接复用该框架,只需将判断条件改为!jToken.Value<bool>()、替换值改为false、提示文案调整为对应内容即可
  • 若需要调整输出JSON的缩进格式,可在jObject.ToString()中传入参数:jObject.ToString(Formatting.None)表示输出压缩无缩进的JSON,默认不传参数即为带缩进格式化输出

内容的提问来源于stack exchange,提问作者Maenhir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 09:36:04