当前位置:实例文章 » HTML/CSS实例» [文章]ASP.NET中JSON的序列化和反序列化

ASP.NET中JSON的序列化和反序列化

发布人:shili8 发布时间:2025-02-19 03:07 阅读次数:0

**ASP.NET 中 JSON 的序列化和反序列化**

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于 Web 应用程序之间的通信。ASP.NET 提供了对 JSON 的支持,使得开发人员能够方便地将 .NET 对象序列化为 JSON 格式,并将 JSON 数据反序列化为 .NET 对象。

**JSON 序列化**

JSON 序列化是指将 .NET 对象转换为 JSON 格式的过程。ASP.NET 提供了 `JavaScriptSerializer` 类来实现此功能。

### 示例代码

csharpusing System;
using System.Web.Script.Serialization;

public class Person{
 public string Name { get; set; }
 public int Age { get; set; }
}

public class Program{
 public static void Main()
 {
 // 创建一个 Person 对象 Person person = new Person();
 person.Name = "John";
 person.Age =30;

 // 使用 JavaScriptSerializer 序列化 Person 对象 JavaScriptSerializer serializer = new JavaScriptSerializer();
 string json = serializer.Serialize(person);

 Console.WriteLine(json);
 }
}


### 输出结果
json{"Name":"John","Age":30}


**JSON 反序列化**

JSON 反序列化是指将 JSON 数据转换为 .NET 对象的过程。ASP.NET 提供了 `JavaScriptSerializer` 类来实现此功能。

### 示例代码
csharpusing System;
using System.Web.Script.Serialization;

public class Person{
 public string Name { get; set; }
 public int Age { get; set; }
}

public class Program{
 public static void Main()
 {
 // JSON 数据 string json = "{"Name":"John","Age":30}";

 // 使用 JavaScriptSerializer 反序列化 JSON 数据 JavaScriptSerializer serializer = new JavaScriptSerializer();
 Person person = serializer.Deserialize(json);

 Console.WriteLine(person.Name); // 输出: John Console.WriteLine(person.Age); // 输出:30 }
}


### 使用 Newtonsoft.Json 序列化和反序列化Newtonsoft.Json 是一个第三方 JSON 库,提供了更强大的功能。我们可以使用它来实现 JSON 序列化和反序列化。

### 示例代码
csharpusing System;
using Newtonsoft.Json;

public class Person{
 public string Name { get; set; }
 public int Age { get; set; }
}

public class Program{
 public static void Main()
 {
 // 创建一个 Person 对象 Person person = new Person();
 person.Name = "John";
 person.Age =30;

 // 使用 JsonConvert 序列化 Person 对象 string json = JsonConvert.SerializeObject(person);

 Console.WriteLine(json);
 }
}


### 输出结果
json{"Name":"John","Age":30}


### 示例代码(反序列化)

csharpusing System;
using Newtonsoft.Json;

public class Person{
 public string Name { get; set; }
 public int Age { get; set; }
}

public class Program{
 public static void Main()
 {
 // JSON 数据 string json = "{"Name":"John","Age":30}";

 // 使用 JsonConvert 反序列化 JSON 数据 Person person = JsonConvert.DeserializeObject(json);

 Console.WriteLine(person.Name); // 输出: John Console.WriteLine(person.Age); // 输出:30 }
}


### 使用 System.Text.Json 序列化和反序列化System.Text.Json 是 .NET Core 中的 JSON 库,提供了更强大的功能。我们可以使用它来实现 JSON 序列化和反序列化。

### 示例代码(序列化)

csharpusing System;
using System.Text.Json;

public class Person{
 public string Name { get; set; }
 public int Age { get; set; }
}

public class Program{
 public static void Main()
 {
 // 创建一个 Person 对象 Person person = new Person();
 person.Name = "John";
 person.Age =30;

 // 使用 JsonSerializer 序列化 Person 对象 string json = JsonSerializer.Serialize(person);

 Console.WriteLine(json);
 }
}


### 输出结果
json{"Name":"John","Age":30}


### 示例代码(反序列化)

csharpusing System;
using System.Text.Json;

public class Person{
 public string Name { get; set; }
 public int Age { get; set; }
}

public class Program{
 public static void Main()
 {
 // JSON 数据 string json = "{"Name":"John","Age":30}";

 // 使用 JsonSerializer 反序列化 JSON 数据 Person person = JsonSerializer.Deserialize(json);

 Console.WriteLine(person.Name); // 输出: John Console.WriteLine(person.Age); // 输出:30 }
}


以上是 ASP.NET 中 JSON 序列化和反序列化的示例代码。使用不同的库(如 JavaScriptSerializer、Newtonsoft.Json 或 System.Text.Json)可以实现相同的功能。

相关标签:asp.netjson后端
其他信息

其他资源

Top