c# 类 序列化 json
时间: 2024-09-10 07:10:33 浏览: 58
在C#中,序列化是指将对象的状态信息转换为可以存储或传输的格式(如JSON、XML等)的过程,而反序列化则是将这些格式转换回对象的过程。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。
在.NET框架中,进行JSON序列化和反序列化的常用库是Newtonsoft.Json,也就是Json.NET。以下是如何使用Json.NET库来实现一个类的序列化和反序列化的例子:
首先,你需要在项目中安装Json.NET库,可以通过NuGet包管理器来安装。
```shell
Install-Package Newtonsoft.Json
```
然后,你可以创建一个类,例如`Person`类:
```csharp
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public string City { get; set; }
}
```
使用Json.NET进行序列化:
```csharp
Person person = new Person
{
Name = "张三",
Age = 30,
City = "北京"
};
string json = JsonConvert.SerializeObject(person);
Console.WriteLine(json);
```
使用Json.NET进行反序列化:
```csharp
string json = @"{
'Name' : '张三',
'Age' : 30,
'City' : '北京'
}";
Person person = JsonConvert.DeserializeObject<Person>(json);
Console.WriteLine($"姓名:{person.Name}, 年龄:{person.Age}, 城市:{person.City}");
```
上述代码展示了如何使用Json.NET库将`Person`类的实例序列化为JSON字符串,以及如何将JSON字符串反序列化回`Person`类的实例。
阅读全文