zoukankan      html  css  js  c++  java
  • C#.NET官方类库Json序列化,反序列化

    NuGet:搜索System.Text.Json  安装

    引用:

    using System.Text.Encodings.Web;
    using System.Text.Json;
    using System.Threading.Tasks;
    using System.IO;

    序列化方法:

            private static JsonSerializerOptions serializerOptions = new JsonSerializerOptions() { WriteIndented = true, Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping };
            public static string JsonSerialize<T>(T obj) => JsonSerializer.Serialize(obj, serializerOptions);
            public static void JsonSerialize<T>(T obj, string fileName)
            {
                using (FileStream createStream = File.Create(fileName))
                {
                    JsonSerializer.Serialize(createStream, obj, serializerOptions);
                }
            }
            public static async Task JsonSerializeAsync<T>(T obj, string fileName)
            {
                using (FileStream createStream = File.Create(fileName))
                {
                    await JsonSerializer.SerializeAsync(createStream, obj, serializerOptions);
                }
            }

    反序列化方法:

            public static void JsonDeserialize<T>(string jsonString, out T obj) => obj = JsonSerializer.Deserialize<T>(jsonString);
            public static T JsonDeserialize<T>(string fileName) => JsonSerializer.Deserialize<T>(File.ReadAllText(fileName));
            public static async Task JsonDeserializeAsync<T>(string fileName)
            {
                using (FileStream openStream = File.OpenRead(fileName))
                {
                    await JsonSerializer.DeserializeAsync<T>(openStream);
                }
            }
  • 相关阅读:
    每日日报2021.5.14
    每日日报2021.5.13
    每日日报2021.5.12
    每日日报2021.5.11 冲刺第十天
    《梦断代码》读后感3
    每日日报2021.5.10 冲刺第九天
    《梦断代码》读后感2
    每日日报2021 5/23
    每日日报2021 5/22
    每日日报2021 5/21
  • 原文地址:https://www.cnblogs.com/momj/p/15701245.html
Copyright © 2011-2022 走看看