C#中我们可以使用Json反序列化来将Json字符串转换成对应的对象。下面介绍C#中Json反序列化的实现方法:
准备工作
在进行Json反序列化前,我们需要引入Newtonsoft.Json库。使用NuGet包管理器进行安装,或者手动下载该库进行引入。
Install-Package Newtonsoft.Json -Version 13.0.1
反序列化实现方法
代码中我们通过使用JsonConvert.DeserializeObject
string jsonString = "{\"ID\":\"1001\",\"Name\":\"Tom\",\"Age\":18}";
Person person = JsonConvert.DeserializeObject<Person>(jsonString);
在上述示例中,将jsonString中的Json字符串反序列化成了一个类型为Person的对象。
另外,如果我们有一个包含多个对象的Json字符串,可以使用List\
string jsonList = "[{\"ID\":\"1001\",\"Name\":\"Tom\",\"Age\":18},{\"ID\":\"1002\",\"Name\":\"Jerry\",\"Age\":20}]";
List<Person> people = JsonConvert.DeserializeObject<List<Person>>(jsonList);
同样的,以上示例将jsonList中的Json字符串反序列化成了一个包含两个Person类型的对象列表。
示例说明
这里我们使用一个完整的示例来说明Json反序列化的实现过程。我们使用C#控制台应用程序来演示。
- 新建C#控制台应用程序
打开Visual Studio,点击“新建项目”,在弹出的“新建项目”窗口中选择“控制台应用程序”,命名为“JsonDeserializeDemo”,点击“确定”按钮完成创建操作。
- 安装Newtonsoft.Json库
解决方案资源管理器中右键单击“JsonDeserializeDemo”(即我们新建的控制台应用程序),选择“管理NuGet程序包”。在打开的NuGet程序包管理器窗口中搜索Newtonsoft.Json,选择对应版本进行安装。
- 创建Person类
在“JsonDeserializeDemo”的“解决方案资源管理器”中右键单击“JsonDeserializeDemo”文件夹,选择“添加->新建项”创建一个新的类文件,命名为“Person.cs”,并在其中定义Person类:
using System;
namespace JsonDeserializeDemo {
class Person {
public string ID { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
}
- 编写Json反序列化代码
打开“Program.cs”文件,在类中编写Json反序列化的代码:
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
namespace JsonDeserializeDemo {
class Program {
static void Main(string[] args) {
string jsonString = "{\"ID\":\"1001\",\"Name\":\"Tom\",\"Age\":18}";
Person person = JsonConvert.DeserializeObject<Person>(jsonString);
Console.WriteLine("ID: " + person.ID);
Console.WriteLine("Name: " + person.Name);
Console.WriteLine("Age: " + person.Age);
string jsonList = "[{\"ID\":\"1001\",\"Name\":\"Tom\",\"Age\":18},{\"ID\":\"1002\",\"Name\":\"Jerry\",\"Age\":20}]";
List<Person> people = JsonConvert.DeserializeObject<List<Person>>(jsonList);
foreach (var p in people) {
Console.WriteLine("ID: " + p.ID);
Console.WriteLine("Name: " + p.Name);
Console.WriteLine("Age: " + p.Age);
}
Console.ReadKey();
}
}
}
- 运行程序
在Visual Studio中按下F5键或者点击“调试->开始执行调试”菜单执行程序。输出结果如下:
ID: 1001
Name: Tom
Age: 18
ID: 1001
Name: Tom
Age: 18
ID: 1002
Name: Jerry
Age: 20
以上就是C#中Json反序列化的实现方法及示例说明。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#中Json反序列化的实现方法 - Python技术站