📜  jsonconvert serializeobject 和 jsonconvert deserialize to list - C# (1)

📅  最后修改于: 2023-12-03 15:02:26.240000             🧑  作者: Mango

JsonConvert SerializeObject 和 JsonConvert Deserialize To List - C#

简介

在 C# 中,使用 JsonConvert 类可以将一个对象序列化为 JSON 字符串,也可以将一个 JSON 字符串反序列化为对象。在本文中,我们将重点介绍 JsonConvert.SerializeObjectJsonConvert.DeserializeObject<List<T>> 两个方法的用法。

JsonConvert.SerializeObject

JsonConvert.SerializeObject 方法将一个对象序列化为 JSON 字符串,可以用于将对象或集合序列化为 JSON 字符串。以下代码演示了如何使用 JsonConvert.SerializeObject 方法将一个对象序列化为 JSON 字符串:

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

var person = new Person { Name = "John", Age = 30 };
var json = JsonConvert.SerializeObject(person);
// {"Name":"John","Age":30}
JsonConvert.DeserializeObject<List<T>>()

JsonConvert.DeserializeObject<List<T>> 方法将一个 JSON 字符串反序列化为指定类型的对象集合。以下代码演示了如何使用 JsonConvert.DeserializeObject<List<T>> 方法将一个 JSON 字符串反序列化为 List<Person> 对象集合:

var json = "[{\"Name\":\"John\",\"Age\":30},{\"Name\":\"Mike\",\"Age\":25}]";
var people = JsonConvert.DeserializeObject<List<Person>>(json);
// List<Person> { Person { Name = "John", Age = 30 },
//               Person { Name = "Mike", Age = 25 } }

在上述代码中,我们使用了一个包含两个 Person 对象的 JSON 字符串反序列化为了一个 List<Person> 对象集合。

总结

JsonConvert 类提供了很多方法用于将对象序列化为 JSON 字符串或反序列化为对象,其中 JsonConvert.SerializeObjectJsonConvert.DeserializeObject<List<T>> 是最常用的两个方法。我们可以通过这两个方法来方便地处理 JSON 数据在 C# 中的序列化和反序列化。