C#--使用json配置文件方法【只读不写,适合小项目】(包含读取Json中文乱码解决方法)

1,添加jsconfig1.json配置文件

 2,编辑好json文件

 3,在bin目录中新建一个Config文件夹,把json文件复制过来

4,新建配置类

注意:类的属性名要跟json文件的可以名要保持一致

需要添加引用Newtonsoft.json

需要添加引用System.Windows.Forms

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using Newtonsoft.Json;

namespace Model
{
    public class ServerSettings
    {
        static ServerSettings()
        {
            //【注意】有中文会乱码
            //var jsonString = File.ReadAllText(Path.Combine(Application.StartupPath, "Config/app.json"));

            //【解决中文乱码方法】
            //eadAllText方法有:重载函数可以指定编码
            var jsonString = File.ReadAllText(Path.Combine(Application.StartupPath, "Config/app.json"),System.Text.Encoding.Default);
            _default = (ServerSettings)JsonConvert.DeserializeObject(jsonString, typeof(ServerSettings));
        }

        static ServerSettings _default;

        public static ServerSettings Default
        {
            get
            {
                return _default;
            }
        }

        /// <summary>
        /// 控制器端口
        /// </summary>
        public int Port
        {
            get; set;
        }
        /// <summary>
        /// 控制器IP
        /// </summary>
        public string Ip
        {
            get; set;
        }

        /// <summary>
        /// 轴数量
        /// </summary>
        public int SpindleNumber
        {
            get; set;
        }

        /// <summary>
        /// 设备名称
        /// </summary>
        public string DeviceName
        {
            get; set;
        }

        /// <summary>
        /// 从机ID
        /// </summary>
        public byte SlaveId
        {
            get; set;
        }


    }
}

5,读取Json使用JSON:

            #region PLC 

            //初始化modbusmaster
            modbusFactory = new ModbusFactory();
            //在本地测试 所以使用回环地址,modbus协议规定端口号 502
            master = modbusFactory.CreateMaster(new TcpClient(ServerSettings.Default.SlaveIp,
                ServerSettings.Default.SlavePort));

            #endregion

  

6,特别注意:(中文逗号报错)

原文地址:https://www.cnblogs.com/baozi789654/p/14834594.html