C# 使用Newtonsoft.Json读写Json文件
json:
{ "Information": [ { "LocationName": "通道1", "Points": [ [ 1, 2, 3, 4 ], [ 5, 6, 7, 8 ] ] }, { "LocationName": "通道2", "Points": [ [ 11, 2, 3, 4 ], [ 5, 6, 7, 8 ] ] } ] }
读:
string fileName = @"D:\KSIMSCfg\test.json"; StreamReader file = File.OpenText(fileName); JsonTextReader reader = new JsonTextReader(file); JObject jsonObject = (JObject)JToken.ReadFrom(reader); MessageBox.Show((jsonObject["Information"]).ToList()[1]["Points"][0][0].ToString());//得到11 file.Close();
写:
string jsonString = File.ReadAllText(fileName, System.Text.Encoding.UTF8);//读取文件 JObject jobject = JObject.Parse(jsonString);//解析成json jobject["Information"][0]["LocationName"] = "通道1";//替换需要的文件 string convertString = Convert.ToString(jobject);//将json装换为string File.WriteAllText(fileName, convertString,System.Text.Encoding.UTF8);//将内容写进jon文件中
添加
JObject jsonObj1 = new JObject(); jsonObj1["StartX"] = x.DragLines[t].X1; jsonObj1["StartY"] = x.DragLines[t].Y1; jsonObj1["EndX"] = x.DragLines[t].X2; jsonObj1["EndY"] = x.DragLines[t].Y2; ((JArray)(jsonObj["ProjectCfg"]["MapConfig"]["DeviceList"].ToList()[locationIndex]["Device"]["Defences"].ToList()[defenceId]["Segments"])).Add(jsonObj1);//.ToList().Add(jsonObj1);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)