在C#中,處理復雜類型的反序列化通常需要使用JSON或XML序列化和反序列化庫,如Newtonsoft.Json或System.Xml.Serialization。以下是一些處理復雜類型反序列化的示例代碼:
使用Newtonsoft.Json進行JSON反序列化:
using Newtonsoft.Json;
// 定義一個復雜類型
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
// JSON字符串
string json = "{\"Name\": \"Alice\", \"Age\": 30}";
// 反序列化為Person對象
Person person = JsonConvert.DeserializeObject<Person>(json);
使用System.Xml.Serialization進行XML反序列化:
using System.Xml.Serialization;
using System.IO;
// 定義一個復雜類型
[XmlRoot("Person")]
public class Person
{
[XmlElement("Name")]
public string Name { get; set; }
[XmlElement("Age")]
public int Age { get; set; }
}
// XML字符串
string xml = "<Person><Name>Alice</Name><Age>30</Age></Person>";
// 反序列化為Person對象
XmlSerializer serializer = new XmlSerializer(typeof(Person));
using (StringReader reader = new StringReader(xml))
{
Person person = (Person)serializer.Deserialize(reader);
}
無論是JSON還是XML,處理復雜類型反序列化時,需要確保復雜類型的結構與序列化的字符串格式匹配,并正確處理可能的異常情況。