欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > C# 使用 Newtonsoft.Json 序列化和反序列化对象实例

C# 使用 Newtonsoft.Json 序列化和反序列化对象实例

2025/6/19 18:53:36 来源:https://blog.csdn.net/happycell188/article/details/145921372  浏览:    关键词:C# 使用 Newtonsoft.Json 序列化和反序列化对象实例

Newtonsoft.Json(也被称为 Json.NET)是一个广泛使用的用于在 C# 中进行 JSON 序列化和反序列化的开源库。下面将详细介绍如何使用它来序列化和反序列化对象。

1. 安装 Newtonsoft.Json

如果你使用的是 Visual Studio,可以通过 NuGet 包管理器来安装 Newtonsoft.Json。在“工具” -> “NuGet 包管理器” -> “管理解决方案的 NuGet 程序包”中搜索 Newtonsoft.Json 并安装。

如果你使用的是 .NET CLI,可以在项目目录下运行以下命令进行安装:

dotnet add package Newtonsoft.Json

2. 序列化对象

序列化是将对象转换为 JSON 字符串的过程。以下是一个示例,展示了如何序列化一个简单的对象:

using Newtonsoft.Json;
using System;// 定义一个简单的类
public class Person
{public string Name { get; set; }public int Age { get; set; }
}class Program
{static void Main(){// 创建一个 Person 对象Person person = new Person{Name = "John Doe",Age = 30};// 序列化对象为 JSON 字符串string json = JsonConvert.SerializeObject(person);// 输出 JSON 字符串Console.WriteLine(json);}
}

在上述代码中,我们首先定义了一个 Person 类,包含 NameAge 两个属性。然后创建了一个 Person 对象,并使用 JsonConvert.SerializeObject 方法将其序列化为 JSON 字符串。最后,将该 JSON 字符串输出到控制台。

3. 反序列化对象

反序列化是将 JSON 字符串转换为对象的过程。以下是一个示例,展示了如何反序列化 JSON 字符串为对象:

using Newtonsoft.Json;
using System;// 定义一个简单的类
public class Person
{public string Name { get; set; }public int Age { get; set; }
}class Program
{static void Main(){// 定义一个 JSON 字符串string json = "{\"Name\":\"John Doe\",\"Age\":30}";// 反序列化 JSON 字符串为 Person 对象Person person = JsonConvert.DeserializeObject<Person>(json);// 输出对象的属性Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");}
}

在上述代码中,我们定义了一个 JSON 字符串,然后使用 JsonConvert.DeserializeObject<Person> 方法将其反序列化为 Person 对象。最后,输出该对象的属性。

4. 处理复杂对象和集合

Newtonsoft.Json 也可以处理复杂对象和集合的序列化和反序列化。以下是一个示例,展示了如何处理包含集合的对象:

using Newtonsoft.Json;
using System;
using System.Collections.Generic;// 定义一个简单的类
public class Book
{public string Title { get; set; }public string Author { get; set; }
}// 定义一个包含集合的类
public class Library
{public string Name { get; set; }public List<Book> Books { get; set; }
}class Program
{static void Main(){// 创建一个 Library 对象Library library = new Library{Name = "My Library",Books = new List<Book>{new Book { Title = "Book 1", Author = "Author 1" },new Book { Title = "Book 2", Author = "Author 2" }}};// 序列化对象为 JSON 字符串string json = JsonConvert.SerializeObject(library);// 输出 JSON 字符串Console.WriteLine(json);// 反序列化 JSON 字符串为 Library 对象Library deserializedLibrary = JsonConvert.DeserializeObject<Library>(json);// 输出对象的属性Console.WriteLine($"Library Name: {deserializedLibrary.Name}");foreach (var book in deserializedLibrary.Books){Console.WriteLine($"Title: {book.Title}, Author: {book.Author}");}}
}

在上述代码中,我们定义了一个 Book 类和一个包含 Book 集合的 Library 类。然后创建了一个 Library 对象,并将其序列化为 JSON 字符串。接着,将该 JSON 字符串反序列化为 Library 对象,并输出其属性。

通过以上示例,你可以看到 Newtonsoft.Json 提供了简单而强大的功能来进行对象的序列化和反序列化。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词