读取Json,并替换json中的指定字符
string jsonfile = @"E:\history.json";//JSON文件路径 using (System.IO.FileStream file = new FileStream(jsonfile, FileMode.Open, FileAccess.ReadWrite)) { var buffer = new byte[file.Length];//获取用字节表示的流长度 file.Read(buffer, 0, buffer.Length);//0 字节 1 偏移量 2读取的字节长度 var jsonTxt = Encoding.UTF8.GetString(buffer); JObject o = JObject.Parse(jsonTxt);//获取json对象 JToken jt = o["Chapter"];//获取Json中的指定字符 for (int i = 0; i < jt.Count(); i++)//特殊需求 不做理会 { for (int j = 0; j < jt[i]["article"].Count(); j++) { var arttitle = Convert.ToString(jt[i]["article"][j]["arttitle"]); int num = arttitle.LastIndexOf(" "); if (num != -1) { arttitle = arttitle.Substring(num + 1); } jt[i]["article"][j]["path"] = GetHtmlPath(arttitle, (i + 1) + "-" + (j + 1)); } } var result = o.ToString(); var newBuffer = Encoding.UTF8.GetBytes(result); var index = file.Seek(0, SeekOrigin.Begin); file.Write(newBuffer, 0, newBuffer.Count()); }
示例Json
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义