要先将byte数组转成中文再进行序列化,可以使用Encoding类的GetString方法将byte数组转换为字符串。

以下是一个示例代码:

using System;
using System.Text;
using Newtonsoft.Json;

public class MyClass
{
    public byte[] Data { get; set; }
}

public class Program
{
    public static void Main()
    {
        // 创建一个包含中文的byte数组
        byte[] bytes = Encoding.UTF8.GetBytes("你好世界");

        // 将byte数组转换为中文字符串
        string chineseString = Encoding.UTF8.GetString(bytes);

        // 创建包含byte数组的对象
        MyClass obj = new MyClass
        {
            Data = bytes
        };

        // 将对象序列化为JSON字符串
        string json = JsonConvert.SerializeObject(obj);

        Console.WriteLine(json);
    }
}

在上面的代码中,我们首先创建了一个包含中文的byte数组。然后使用Encoding.UTF8.GetString方法将byte数组转换为中文字符串。接下来,我们创建了一个包含byte数组的对象,并将其序列化为JSON字符串。最后,我们打印出了序列化后的JSON字符串。

输出结果为:

{"Data":"你好世界"}
C#JsonConvertSerializeObject 序列化时 对象中有一个byte数组 如何先转成中文在序列化

原文地址: https://www.cveoy.top/t/topic/iR48 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录