using System.Text.Json; 简单使用

public class User
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }

    internal class Program
    {

        static async Task Test()
        {
            var user = new User { Id = 9, Name = "Jack57" };

            //选项
            var options = new JsonSerializerOptions
            {
                WriteIndented = true, //格式化输出的代码 
                PropertyNameCaseInsensitive = true, //忽略大小写
            };

        //=============================================================
        //序列化

        //要输出js那种小驼峰可能需要自定义规则
        https://docs.microsoft.com/en-us/dotnet/standard/serialization/system-text-json-customize-properties?pivots=dotnet-6-0

            var jsonString = JsonSerializer.Serialize(user, options);
            Console.WriteLine(jsonString);
            //============================================================= 
            //反序列化
            var newUser = System.Text.Json.JsonSerializer.Deserialize<User>(jsonString);
            Console.WriteLine(newUser.Name);

            //============================================================= 
            //反序列化为字典,方便取出想要的部分转对象
            var dict = System.Text.Json.JsonSerializer.Deserialize<Dictionary<string, object>>(jsonString);
            Console.WriteLine(dict["Id"]);
        }

属性映射新名字

[JsonPropertyName("Wind")]

posted @ 2022-07-17 10:31  trykle  阅读(231)  评论(0)    收藏  举报