下面是详细的C#实现JSON字符串序列化与反序列化的方法攻略:
一、什么是JSON
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于JavaScript语言的一个子集,但是采用了类似于C语言家族的语法。JSON的格式比较简单明了且轻便,能够更好地支持Web端的数据交互,因此被广泛应用。
二、JSON序列化与反序列化
- JSON序列化(对象转为JSON字符串)
JSON序列化
是将对象转换为JSON字符串的过程。在C#中,我们可以使用JavaScriptSerializer
类的Serialize
方法实现JSON序列化。
示例:
using System.Web.Script.Serialization;
using System.Collections.Generic;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public string Gender { get; set; }
}
public static void Main(string[] args)
{
List<Person> people = new List<Person>()
{
new Person() { Name = "Alice", Age = 18, Gender = "Female" },
new Person() { Name = "Bob", Age = 20, Gender = "Male" }
};
JavaScriptSerializer js = new JavaScriptSerializer();
string jsonString = js.Serialize(people);
Console.WriteLine(jsonString);
}
在上面的示例中,我们定义了一个Person
类和一个List<Person>
列表。然后我们使用JavaScriptSerializer
的Serialize
方法将List<Person>
转换为JSON字符串,并输出到控制台。
注意:在使用JavaScriptSerializer
类之前,必须添加System.Web.Extensions
的引用。
输出:
[{"Name":"Alice","Age":18,"Gender":"Female"},{"Name":"Bob","Age":20,"Gender":"Male"}]
- JSON反序列化(JSON字符串转为对象)
JSON反序列化
是将JSON字符串转换为对象的过程。在C#中,我们可以使用JavaScriptSerializer
类的Deserialize
方法实现JSON反序列化。
示例:
using System.Web.Script.Serialization;
using System.Collections.Generic;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public string Gender { get; set; }
}
public static void Main(string[] args)
{
string jsonString = @"[{""Name"":""Alice"",""Age"":18,""Gender"":""Female""},{""Name"":""Bob"",""Age"":20,""Gender"":""Male""}]";
JavaScriptSerializer js = new JavaScriptSerializer();
List<Person> people = js.Deserialize<List<Person>>(jsonString);
foreach (Person person in people)
{
Console.WriteLine($"Name: {person.Name}, Age: {person.Age}, Gender: {person.Gender}");
}
}
在上面的示例中,我们定义了一个JSON字符串,并使用JavaScriptSerializer
的Deserialize
方法将该JSON字符串转换为List<Person>
类型的对象,然后输出对象中的属性到控制台。
输出:
Name: Alice, Age: 18, Gender: Female
Name: Bob, Age: 20, Gender: Male
三、总结
本文介绍了C#实现JSON字符串序列化与反序列化的方法。JSON序列化与反序列化在Web开发中非常常用,希望本文对大家有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#实现JSON字符串序列化与反序列化的方法 - Python技术站