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,特別注意:(中文逗號報錯)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM