7 *.json文件存储自定义类的内容

一.引用中添加Newtonsoft.json

二.程序中添加引用

using Newtonsoft.Json;

using Newtonsoft.Json.Linq;

三.定义一个自己写的类

namespace CommChart

{

    public class Setting

    {

        public string Title { set; get; } = "标题";

        public string XTitle { set; get; } = "X轴";

        public string YTitle { set; get; } = "Y轴";

        public string Y2Title { set; get; } = "Y2轴";

        public string StartChar { set; get; } = "[";

        public string SplitChar { set; get; } = ",";

        public string EndChar { set; get; } = "]";

        public int Btl { set; get; } = 9600;

        public Parity Jyw { set; get; }

        public int Sjw { set; get; } = 8;

        public StopBits Tzw { set; get; } = StopBits.One;

        public int X { set; get; } = 50;

        public Color Bgcolor { set; get; } = Color.White;

        public Color CBgcolor { set; get; } = Color.Silver;

        public int Rate { set; get; } = 250;//采样率

        public List<LineSet> Linse { set; get; } = new List<LineSet>();//实例化一个LineSet类形式的链表

    }

    public class LineSet //LineSet类是Setting类的一部分

    {

        public string BS { set; get; }

        public Color color { set; get; }

        public double Avg;

        public double Min;

        public double Max;

        public double Sum;

    }

}

四.将Setting类格式的链表写入set.json文件

List<Setting> setting;

void Save()

{

   using (var w = new StreamWriter("set.json"))//实例化一个StreamWriter对象

   {

       var json = JsonConvert.SerializeObject(setting);//将Setting类格式的链表转化为json string

       w.WriteLine(json);                              //将字符串写入set.json文件中

   }

}

四.将set.json文件中内容读出到Setting类格式的链表中

var txt = "";

using (var reader = new StreamReader("set.json"))实例化一个StreamReader对象

{

    txt = reader.ReadToEnd();//将set.json中的文件读出

}

setting = JsonConvert.DeserializeObject<List<Setting>>(txt);//把读出的文本转化为Setting类格式的链表,赋值给setting链表

五.注意:链表在进行读取操作前要先实例化或者赋值

1.实例化

setting = new List<Setting>();

2.赋值

setting = JsonConvert.DeserializeObject<List<Setting>>(txt);//把读出的文本转化为Setting类格式的链表,赋值给setting链表

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值