首页 > 编程知识 正文

vbapi读写json,net.sf.json.JSONObject

时间:2023-05-05 05:26:28 阅读:47216 作者:2076

nuget

Microsoft.extensions.configuration;

Microsoft.extensions.configuration.JSON;

Newtonsoft.Json;

Newtonsoft.Json.Linq;

///

///Json文件的读写

引用Newtonsoft.Json

///

公共类jsonfilehelper

{

//注意: section是根节点

私有string _ JSON name;

私有string _ path;

私有配置配置{ get; set; }

publicjsonfilehelper (stringjsonname ) )。

{

_jsonName=jsonName;

if (! JSONname.EndSwith('.JSON ' ) )

_path=$'{jsonName}.json ';

else

_path=jsonName;

//reloadonchange=true*.JSON文件更改时重新加载

configuration=newconfigurationbuilder ()

. add (newjsonconfigurationsource (path=_ path,ReloadOnChange=true,Optional=true } ) )

. Build (;

}

///

读取Json并返回实体对象

///

///

public T Read ()=Read ) ');

///

从节点读取Json并返回实体对象

//

//

公共道路(字符串部分) )。

{

特里

{

using (varfile=new streamreader (_ path ) )

using (varreader=newjsontextreader (文件) )

{

varjobj=(jobject ) jToken.readfrom ) ) reader;

if (! string.isnullorwhitespace (section ) )

{

var secJt=jObj[section];

if(secjt!=空)

{

returnjsonconvert.deserialize object (se cjt.tostring () );

}

}

else

{

returnjsonconvert.deserialize object (jobj.tostring () );

}

}

}

catch(system.exceptionex )。

{

throw ex;

}

返回默认值(t;

}

//

读取Json并返回集合

//

//

公共列表读取列表()=读取列表) ' ';

//

//从节点读取Json返回集合

//

//

publiclistreadlist (字符串部分) )。

{

特里

{

using (varfile=new streamreader (_ path ) )

using (varreader=newjsontextreader (文件) )

{

varjobj=(jobject ) jToken.readfrom ) ) reader;

if (! string.isnullorwhitespace (section ) )

{

var secJt=jObj[section];

if(secjt!=空)

{

returnjsonconvert.deserialize object (se cjt.tostring () );

}

}

else

{

返回

JsonConvert.DeserializeObject>(jObj.ToString());

}

}

}

catch (System.Exception ex)

{

throw ex;

}

return default(List);

}

///

/// 写入文件

///

/// 自定义对象

///

public void Write(T t) => Write("", t);

///

/// 写入指定section文件

///

/// 自定义对象

///

public void Write(string section, T t)

{

try

{

JObject jObj;

using (StreamReader file = new StreamReader(_path))

using (JsonTextReader reader = new JsonTextReader(file))

{

jObj = (JObject)JToken.ReadFrom(reader);

var json = JsonConvert.SerializeObject(t);

if (string.IsNullOrWhiteSpace(section))

jObj = JObject.Parse(json);

else

jObj[section] = JObject.Parse(json);

}

using (var writer = new StreamWriter(_path))

using (var jsonWriter = new JsonTextWriter(writer))

{

jObj.WriteTo(jsonWriter);

}

}

catch (System.Exception ex)

{

throw ex;

}

}

///

/// 删除指定section节点

///

///

public void Remove(string section)

{

try

{

JObject jObj;

using (StreamReader file = new StreamReader(_path))

using (JsonTextReader reader = new JsonTextReader(file))

{

jObj = (JObject)JToken.ReadFrom(reader);

jObj.Remove(section);

}

using (var writer = new StreamWriter(_path))

using (var jsonWriter = new JsonTextWriter(writer))

{

jObj.WriteTo(jsonWriter);

}

}

catch (System.Exception ex)

{

throw ex;

}

}

}

Java 对不同类型的数据文件的读写操作整合器[JSON,XML,CSV]-[经过设计模式改造](2020年寒假小目标03)

日期:2020.01.16 博客期:125 星期四 我想说想要构造这样一个通用文件读写器确实不容易,嗯~以后会添加更多的文件类型,先来熟悉一下文件内容样式: <?xml version=&quo ...

Python中json的简单读写操作

Python中json的简单读写操作 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的 ...

INI 文件的读写操作

在C#中对INI文件进行读写操作,在此要引入using System.Runtime.InteropServices; 命名空间,具体方法如下: #region 变量 private static r ...

Android 对 properties文件的读写操作

-. 放在res中的properties文件的读取,例如对放在assets目录中的setting.properties的读取:PS:之所以这里只是有读取操作,而没有写的操作,是因为我发现不能对res下 ...

C&plus;&plus;学习48 对ASCII文件的读写操作

如果文件的每一个字节中均以ASCII代码形式存放数据,即一个字节存放一个字符,这个文件就是ASCII文件(或称字符文件).程序可以从ASCII文件中读入若干个字符,也可以向它输出一些字符. 对ASCI ...

Delphi- ini文件的读写操作

一.读INI文件示例 procedure TForm1.FormCreate(Sender: TObject); Var MyIni :Tinifile; glAppPath :string; beg ...

android报错及解决2--Sdcard进行文件的读写操作报的异常

报错描述: 对Sdcard进行文件的读写操作的时候,报java.io.FileNotFoundException: /sdcard/testsd.txt (Permission denied),在往S ...

java文件的读写操作

java文件的读写操作主要是对输入流和输出流的操作,由于流的分类很多,所以概念很容易模糊,基于此,对于流的读写操作做一个小结. 1.根据数据的流向来分: 输出流:是用来写数据的,是由程序(内存)--- ...

python使用装饰器对文件进行读写操作&&num;39&semi;及遍历文件目录

'''使用装饰器对文件进行读写操作''' # def check_permission(func): # '''演示嵌套函数定义及使用''' # def wrapper(*args,**kwargs) ...

随机推荐

Python之路【第十六篇】Django基础

Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...

ext 参考资料

http://extjs.org.cn/ 中文网站 http://www.sencha.com/ 英文网站 http://www.qeefee.com 个人总结

POJ 1847 Tram dij

分析:d[i]表示到i点,最少的操作数 #include #include #include #include&lt ...

js中this的四种使用方法

0x00:js中this的四种调用模式 1,方法调用模式 2,函数调用模式 3,构造器调用模式 4,apply.call.bind调用模式 0x01:第一种:方法调用模式 (也就是用.调用的)this ...

让Terminal显示git分支

vi ~/.bash_profile ### 显示git分支 parse_git_branch () { git branch 2> /dev/null | sed -e '/^[^*]/d' ...

COM组件转换为&period;NET元数据

.net开发中,需要调用一些COM组件,COM组件的元素转化为.net的元数据后才能很好的调用. 下面贴出我转的过程. 首先,打开C:Program Files (x86)Microsoft SD ...

本地代码上传到git

1.(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库 git init 2.把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点 ...

Git入门基础详情教程

前言 写了一篇文章还觉得不错,继续写了,那么继续写Git 基础知识. Git 官网:https: ...

iOS项目之解析HTML数据

最近因为需求,一直在做HTML数据的解析,从网页中去获取需要的数据,然后展示到自己的app中. 在网上找了很多资料,大多都是TFHpple这个第三方框架,能够根据标签节点获取对应的数据,但是现在我需要 ...

python基础之函数对象,嵌套,名称空间和作用域

函数对象: 函数是第一类对象的含义是函数可以被当作数据处理 函数可用于: def func(): print(‘func’) 1.引用  f = func  把内存地址赋值给f 2.当作参数传给一个函 ...

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。