C#中的List是集合類的一種,可以很方便地進(jìn)行元素的添加、刪除等操作。但是,在將List序列化為JSON格式時(shí),需要進(jìn)行一些特殊的處理。
public class User
{
public string Name { get; set; }
public int Age { get; set; }
}
List<User> userList = new List<User>();
userList.Add(new User() { Name = "張三", Age = 18 });
userList.Add(new User() { Name = "李四", Age = 20 });
string json = JsonConvert.SerializeObject(userList);
Console.WriteLine(json);
上述代碼中,我們定義了一個(gè)User類,包含了Name和Age兩個(gè)屬性。然后,我們創(chuàng)建了一個(gè)List<User>集合,向其中添加了兩個(gè)User對(duì)象。
接下來(lái),我們使用JsonConvert.SerializeObject()方法將List序列化為JSON格式的字符串。最后,使用Console.WriteLine()將序列化后的字符串輸出到控制臺(tái)。
[
{
"Name": "張三",
"Age": 18
},
{
"Name": "李四",
"Age": 20
}
]
序列化后的JSON格式字符串如上所示,每個(gè)User對(duì)象都被序列化為一個(gè)JSON對(duì)象。由于是一個(gè)數(shù)組形式,所以需要將序列化的結(jié)果放到[]中。
反序列化時(shí),使用JsonConvert.DeserializeObject()方法即可將JSON格式字符串轉(zhuǎn)換成List集合。
List<User> userList = JsonConvert.DeserializeObject<List<User>>(json);
foreach (var user in userList)
{
Console.WriteLine($"Name: {user.Name}, Age: {user.Age}");
}
以上是關(guān)于C#中List到JSON格式的序列化與反序列化的介紹。