zoukankan      html  css  js  c++  java
  • C# 序列化与反序列化

    1. 通过 JsonSerializer 类的 Serialize/Deserialize 函数,示例代码如下:

    using System;
    using System.Text.Json;
    using System.Text.Json.Serialization;
    
    namespace ConsoleApp
    {
        public class RegAccessInfo
        {
            [JsonInclude] public string DeviceId;
            [JsonInclude] public uint RegAddr;
            [JsonInclude] public uint RegData;
    
            public override string ToString()
            {
                string str = "";
                str += "DeviceId=" + DeviceId;
                str += " RegAddr=" + RegAddr;
                str += " RegData=" + RegData;
    
                return str;
            }
        }
    
        class Program
        {
            static void Main(string[] args)
            {
                RegAccessInfo testInfo = new RegAccessInfo();
                testInfo.DeviceId = "dev01";
                testInfo.RegAddr = 0xC0;
                testInfo.RegData = 0x2018;
                Console.WriteLine("testInfo:  " + testInfo);
    
                string jsonString = JsonSerializer.Serialize(testInfo);
                RegAccessInfo testInfo2 = JsonSerializer.Deserialize<RegAccessInfo>(jsonString);
                Console.WriteLine("testInfo2: " + testInfo2);
    
                byte[] jsonUtf8Bytes = JsonSerializer.SerializeToUtf8Bytes(testInfo);
                var readOnlySpan = new ReadOnlySpan<byte>(jsonUtf8Bytes);
                RegAccessInfo testInfo3 = JsonSerializer.Deserialize<RegAccessInfo>(readOnlySpan);
                Console.WriteLine("testInfo3: " + testInfo3);
    
                Console.ReadLine();
            }
        }
    }

    2. 注:要序列化的数据成员需要用 [JsonInclude] 标记

      官方参考:如何在 .NET 中对 JSON 进行序列化和反序列化(封送和拆收)

      

  • 相关阅读:
    docker基础
    paas平台
    django 多数据分库
    s3对象存储
    css
    __construct()和__initialize()
    js function
    phpstorm ftp 使用
    php
    thinkphp 笔记
  • 原文地址:https://www.cnblogs.com/dhqy/p/15497525.html
Copyright © 2011-2022 走看看