一.引用中添加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链表