一文掌握C# JSON(2023最新整理)
什么是JSON?
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于JavaScript的一个子集,可以被多种编程语言读取和写入。JSON格式最初由 Douglas Crockford 提出,现已成为一种公认的数据交换格式。
C#中使用JSON的方式
C#中有多种库可以实现JSON的序列化和反序列化操作,常用的有Newtonsoft.Json
和System.Text.Json
。以下是这两种库的使用方法:
Newtonsoft.Json
首先需要在项目中安装Newtonsoft.Json
库,可以使用NuGet进行安装。
Install-Package Newtonsoft.Json
在使用前需要引用命名空间:
using Newtonsoft.Json;
将对象序列化为JSON字符串
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
Person person = new Person { Name = "张三", Age = 18 };
string jsonString = JsonConvert.SerializeObject(person);
Console.WriteLine(jsonString);
此时控制台会输出以下内容:
{"Name":"张三","Age":18}
将JSON字符串反序列化为对象
string jsonString = "{\"Name\":\"张三\",\"Age\":18}";
Person person = JsonConvert.DeserializeObject<Person>(jsonString);
Console.WriteLine($"姓名:{person.Name} 年龄:{person.Age}");
此时控制台会输出:
姓名:张三 年龄:18
System.Text.Json
System.Text.Json
库是在.NET Core 3.0
中新增的,相对于Newtonsoft.Json
来说,它有更好的性能表现。
将对象序列化为JSON字符串
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
Person person = new Person { Name = "张三", Age = 18 };
string jsonString = JsonSerializer.Serialize(person);
Console.WriteLine(jsonString);
此时控制台会输出以下内容:
{"Name":"张三","Age":18}
将JSON字符串反序列化为对象
string jsonString = "{\"Name\":\"张三\",\"Age\":18}";
Person person = JsonSerializer.Deserialize<Person>(jsonString);
Console.WriteLine($"姓名:{person.Name} 年龄:{person.Age}");
此时控制台会输出:
姓名:张三 年龄:18
总结
以上就是关于在C#中使用JSON的方法。无论是Newtonsoft.Json
还是System.Text.Json
,都非常易用,大家可以根据自己的实际需求来选择使用哪个库。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一文掌握C# JSON(2023最新整理) - Python技术站