本文主要介绍了在.NET开发中动态修改Json文件中的某一个键所对应的值,希望对使用该方法的朋友有所帮助。
一、封装方法
/// <summary>
/// 修改JSON文件
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="path">Json文件的全路径</param>
/// <param name="key">需要修改的Json文件中值所对应的键名</param>
/// <param name="value">需要修改的Json文件中键所对应的值;为“JArray”对象或“JObject”对象</param>
public static void EditJSON<T>(string path, string key, T value)
{
try
{
//序列化为json时过滤掉NULL
JsonSerializerSettings? jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore };
//读取文件
StreamReader streamReader = new StreamReader(path);
dynamic jsonObj = JsonConvert.DeserializeObject<dynamic>(streamReader.ReadToEnd());
//修改值
jsonObj[key] = value;
streamReader.Close();
string output = JsonConvert.SerializeObject(jsonObj, Formatting.Indented, jsonSetting);
System.IO.File.WriteAllText(path, output);
}
catch (Exception ex)
{
}
}