读取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

原文地址:https://www.cnblogs.com/fangyyy/p/10775663.html

时间: 2024-10-12 09:14:18

读取Json,并替换json中的指定字符的相关文章

Sed替换文本中的指定内容

可以这样做:方法1:sed -i 's/被替换的内容/要替换成的内容/' file 方法2:sed 's/被替换的内容/要替换成的内容/g' file > file.outmv file.out file 这里注意:不能这样做:sed 's/被替换的内容/要替换成的内容/g' file > file这样只会清空源文件. Sed替换文本中的指定内容,布布扣,bubuko.com

使用JS替换URL中的指定参数

现有一个URL: http://abcccc.com/blog?query_key=name&query_value=abc 想要替换其中的参数:query_key,用JS该怎么做呢? 这里记录一种方案: var key = ‘title‘; var value = ‘defg‘; var currentURL = http://www.561.cn/blog?query_key=name&query_value=abc; var targetURL = ‘‘; if ((currentU

js替换字符串中所有指定的字符

第一次发现JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符. 而str.replace(/\-/g,"!")则可以全部替换掉匹配的字符(g为全局标志). replace() The replace() method returns the string that results when you replace text matching its first argumen

使用POI替换word中的特定字符/文字改进版

package com.xfzx.test.POI.main; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import jav

*字符串-01. 在字符串中查找指定字符

1 /* 2 * Main.c 3 * D1-字符串-01. 在字符串中查找指定字符 4 * Created on: 2014年8月18日 5 * Author: Boomkeeper 6 *****部分通过****** 7 */ 8 9 #include <stdio.h> 10 11 int mysearch(char ch, const char str[], int length) { 12 13 int j, ret = -1; 14 15 for (j = 0; j < le

JavaScript替换字符串中最后一个字符

1.问题背景 在一个输入框中,限制字符串长度为12位.利用键盘输入一个数字,会将字符串中最后一位替换,比方:111111111111.再输入一个3,会显示111111111113 2.详细实现 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html x

在字符串中查找指定字符

输入一个字符串S,再输入一个字符c,要求在字符串S中查找字符c.如果找不到则输出“Not found”:若找到则输出字符串S中从c开始的所有字符. 输入格式: 输入在第1行中给出一个不超过80个字符长度的.以回车结束的非空字符串:在第2行中给出一个字符. 输出格式: 在一行中按照题目要求输出结果. 输入样例1: It is a black box b 输出样例1: black box 输入样例2: It is a black box B 输出样例2: Not found #include<std

10-1. 在字符串中查找指定字符(15)

输入一个字符串S,再输入一个字符c,要求在字符串S中查找字符c.如果找不到则输出“Not found”:若找到则输出字符串S中从c开始的所有字符. 输入格式: 输入在第1行中给出一个不超过80个字符长度的.以回车结束的非空字符串:在第2行中给出一个字符. 输出格式: 在一行中按照题目要求输出结果. 输入样例1: It is a black box b 输出样例1: black box 输入样例2: It is a black box B 输出样例2: Not found 1 #include <

Javascript --扩展String实现替换字符串中index处字符

String.prototype.replaceCharAt = function(n,c){ return this.substr(0, n)+ c + this.substr(n+1,this.length-1-n); } Javascript --扩展String实现替换字符串中index处字符