(写在前面:最近做项目的时候使用json写了配置文件,现做一小段笔记希望与大家交流探讨,其中若有不到之处欢迎各位批评指正)
1、配置文件名称:config.json.txt
文件名称可自由设置,本文采用config.json.txt【本质是一个.txt文档,内部语法采用json语法格式】
2、配置文件存放目录:*\**\bin\Release
本文存放路径为:*(项目文件夹)\**(解决方案)\bin\Release,这是为了读取相对路径的时候方便,代码如下:
string strfile = File.ReadAllText(@"config.json.txt",Encoding.Default);
如果不写Encoding.Default参数可能会遇到中文乱码的问题。如果File类型不识别,检查是否有以下引用:
using System.IO;
您也可以尝试自定义文件位置,并以@"{0}…\…\"的方式访问上级文件目录。
3、验证语法是否有误
Json在线验证工具:Json.cn 【网址:https://www.json.cn 用于验证json字符串是否存在语法错误,可根据json生成java或c#实体类。】
4、配置文件内容
config.json.txt内容:
{
“team”:[{
“A”:“A的值”,
“B”: “B的值”,
“C”: [{
“C1”: “C1的值”,
“C2”: “C2的值”,
“C3”: “C3的值”
}
]}
]}
下图为该配置文件的组织逻辑,属性之间的关系是树状的层级关系,类似的应用有很多,例如:students下包含张三、李四、王五等,张三下又包括学号、姓名、年龄等内容。
由此生成用于接收Json数据的C#实体类如下,可以看出实体类是从最内层的块逐渐向上级生成的:
public class CItem
{
/// <summary>
/// C1的?值μ
/// </summary>
public string C1 {
get; set; }
/// <summary>
/// C2的?