BinaryFormatter 改用System.Text.Json方法替代,并举例说明
时间: 2024-05-08 15:20:14 浏览: 173
SystemData命名空间-c#中的泛型和其他重点
好的,我明白了。关于你的问题,确实可以使用System.Text.Json替代BinaryFormatter。System.Text.Json是.NET Core3.0及以上版本提供的一个高性能JSON序列化和反序列化库,相对于BinaryFormatter它更具可读性且序列化的数据更小。以下是一个简单的示例:
```
using System;
using System.Text.Json;
public class Product
{
public int ID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
class Program
{
static void Main(string[] args)
{
var product = new Product
{
ID = 1,
Name = "Test",
Description = "Just a test product."
};
string jsonString = JsonSerializer.Serialize(product);
Console.WriteLine(jsonString);
var deserializedProduct = JsonSerializer.Deserialize<Product>(jsonString);
Console.WriteLine($"ID: {deserializedProduct.ID}, Name: {deserializedProduct.Name}, Description: {deserializedProduct.Description}");
}
}
```
在上面的示例中,我们使用JsonSerializer.Serialize将一个Product对象序列化成一个JSON字符串,JsonSerializer.Deserialize则将JSON字符串反序列化成一个Product对象,并输出Product对象的各个属性值。注意,在此示例中,我们始终使用UTF-8编码,但是System.Text.Json库可以自动检测和处理不同的编码。
阅读全文