zoukankan      html  css  js  c++  java
  • C#字典序列化为Json字符串并写入文件

    using System.Text.Json;
    using System.IO;
    using System.Text;
    
            public static Dictionary<Byte, Command> Commandss = new Dictionary<Byte, Command>();
            public static string fileName = "temp";
    
            public class Command
            {
                public Byte command { get; set; }
                public string name { get; set; }
                public string datatype { get; set; }
                public UInt16 datalength { get; set; }
                public string dataformat { get; set; }
                public Double coefficient { get; set; }
                public Double minValue { get; set; }
                public Double maxValue { get; set; }
                public Double defValue { get; set; }
                public string unit { get; set; }
                public string checktype { get; set; }
                public bool showState { get; set; }
                public Double Value { get; set; }
            }
    
            private void writeFile()
            {
                string jsonstr = JsonSerializer.Serialize(Commandss);
                string path = System.IO.Directory.GetCurrentDirectory() + fileName + "pmb";
                if (!File.Exists(path))
                {
                    File.WriteAllText(path, jsonstr, Encoding.UTF8);
                }
    
            }
            private void readFile()
            {
                string path = System.IO.Directory.GetCurrentDirectory() + fileName + "pmb";
                string jsonstr = File.ReadAllText(path);
    
                Commandss = JsonSerializer.Deserialize<Dictionary<Byte, Command>>(jsonstr);
    
            }

    使用using System.Text.Json;前需安装对应的库文件

     打开NuGet控制台,输入:dotnet add package System.Text.Json --version 5.0.1

    参考:

    https://www.nuget.org/packages/System.Text.Json

    https://docs.microsoft.com/zh-cn/dotnet/standard/serialization/system-text-json-overview

    https://docs.microsoft.com/zh-cn/dotnet/standard/serialization/system-text-json-how-to?pivots=dotnet-5-0

    遗留问题:

    1.最早尝试的是对List(元素为结构体)进行序列化,序列化后数据全部丢失,原因未找到

    2.转为Json字符串后,中文字符被转为"u6253u5F00/u5173u95EDu7535u6E90u4E3Bu8DEFu8F93u51FA"

    转载请注明出处:https://www.cnblogs.com/lei-zi/
  • 相关阅读:
    png 图片的缩放
    数据结构>图的最短路径
    2007年7月25日在博客园的排名上升到前400名
    C# 汉字转拼音(全拼)
    修改 Linux 主机名
    C# 事件的继承
    一个实现了 IDisposable 接口的基类
    Windows 防火墙上也有端口映射功能
    网上邻居不能访问的问题
    令网站提速的7大秘方
  • 原文地址:https://www.cnblogs.com/lei-zi/p/14474741.html
Copyright © 2011-2022 走看看