php读取json里面的字段内容并替换,读取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, , 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 = ; i < jt.Count(); i++)//特殊需求 不做理会

{

for (int j = ; j < jt[i]["article"].Count(); j++)

{

var arttitle = Convert.ToString(jt[i]["article"][j]["arttitle"]);

int num = arttitle.LastIndexOf(" ");

if (num != -)

{

arttitle = arttitle.Substring(num + );

}

jt[i]["article"][j]["path"] = GetHtmlPath(arttitle, (i + ) + "-" + (j + ));

}

}

var result = o.ToString();

var newBuffer = Encoding.UTF8.GetBytes(result);

var index = file.Seek(, SeekOrigin.Begin);

file.Write(newBuffer, , newBuffer.Count());

}

示例Json

9a92bb21f5154489d5643dd61f7f775e.png

js replace&lpar;a&comma;b&rpar;之替换字符串中所有指定字符的方法

var str = 'abcadeacf'; var str1 = str.replace('a', 'o'); alert(str1); // 打印结果: obcadeacf var str2 = ...

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

package com.xfzx.test.POI.main; import java.io.File; import java.io.FileInputStream; import java.io. ...

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

1.问题背景 在一个输入框中,限制字符串长度为12位.利用键盘输入一个数字,会将字符串中最后一位替换,比方:111111111111.再输入一个3,会显示111111111113 2.详细实现 &lt ...

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

第一次发现JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符.  而str.replac ...

python 提取字符串中的指定字符 正则表达式

例1: 字符串: '湖南省长沙市岳麓区麓山南路麓山门' 提取:湖南,长沙 在不用正则表达式的情况下: address = '湖南省长沙市岳麓区麓山南路麓山门' address1 = address.s ...

oracle去掉字符串中所有指定字符

Select Replace(字段名,'指定字符','替换字符') From 表名 --例: select replace('de.5d','.','') from dual --显示结果:de5d ...

替换jar中的指定文件

 替换jar 包下面的class 文件,很多人会想到直接用winrar 打开替换,在一般的情况下, 是可行的,但是如果说这个jar 的代码经过混淆后,会有大小写不同,文件名是相同的,在windos ...

sql 替换字段中的部分字符,替换指定字符

把列中凡是有2011的全部修改成2014,如 lieming 里的201101131431改成201401131431,写法:   update tab set lieming = replace(l ...

Sed替换文本中的指定内容

可以这样做:方法1:sed -i 's/被替换的内容/要替换成的内容/' file 方法2:sed 's/被替换的内容/要替换成的内容/g' file > file.outmv file.out ...

随机推荐

Javascript将构造函数扩展为简单工厂

一般而言,在Javascript中创建对象时需要使用关键字new(按构造函数去调用),但是某些时候,开发者希望无论new关键字有没有被显式使用,构造函数都可以被正常调用,即构造函数同时还具备简单工厂的 ...

c语言 内存管理

动态内存是由程序员手动分配,不再使用时,一定记得释放内存. 静态内存是程序开始运行时由编译器分配的内存,它的分配是程序开始编译时完成的,不占用cpu资源.程序中的各种变量在编译源程序时就已经分配了内存 ...

Aooms&lowbar;微服务基础开发平台实战&lowbar;002&lowbar;工程构建

一.关于框架更名的一点说明 最近在做年终总结.明年规划.还有几个项目需要了结.出解决方案,事情还比较多,死了不少脑细胞,距离上一篇文章发出已经过了3天,是不是有些人会认为我放弃了又不搞了,NONO,一 ...

Laravel--查询构造器 方法 及聚合函数

controller内内容如下 <?php /** * Created by PhpStorm. * User: work * Date: 2018/1/2 * Time: 20:36 */ n ...

java随笔1 Ctrl&plus;1补全

Ctrl+1补全变量时,如果补全后的不是自己想要的, 比如:补全后这样 修改后 这时要对更改变量进行Ctrl+1补全路径 并且后者要进行Ctrl+1强转

iOS-微信支付商户支付下单id非法

最近在APP中WKWebView中调用微信支付的时候,一直报商户支付下单id非法.看了n边微信文档,度娘了n次-----仍未解决.因为安卓的支付是没有问题的所以就跟安卓兄弟要了最终调用微信的字符串: ...

Grid&plus;&plus;repor报表连接事件

//定义报表模板 private GridppReport Report = new GridppReport(); //载入报表模板数据 Report.LoadFromFile(GridppRepo ...

四、MYSQL的数据类型

类型选择原则 1.储存空间越少越好: 2.简单就好:例如整型比字符串更简单: 3.尽量避免null: 一.整数类型 1.有tinyint(8位).SMALLINT(16位).MEDIUMINT(24位 ...

nginx&period;conf中关于nginx-rtmp-module配置指令详解

译序:截至 Jul 8th,2013 官方公布的最新 Nginx RTMP 模块 nginx-rtmp-module 指令详解.指令Corertmp语法:rtmp { ... }上下文:根描述:保存所 ...

mysqlbinlog- 处理二进制日志文件的实用工具 学习笔记

参考 MySQL 5.5官方简体中文参考手册完美版  8.6 节 调用: shell> mysqlbinlog [option] log-files... mysqlbinlog支持下面选项: ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值