在.NET BCL中,没有直接提供现成的Json Serialization助手类。但是,.NET BCL中提供了一些用于处理Json数据的类,如System.Text.Json
和Newtonsoft.Json
。
System.Text.Json
是.NET Core 3.0及更高版本中的内置库,提供了高性能的Json序列化和反序列化功能。它提供了JsonSerializer
类,可以用于序列化和反序列化Json数据。
Newtonsoft.Json
是一个流行的第三方库,提供了更丰富的功能和更好的兼容性。它提供了JsonConvert
类,可以用于序列化和反序列化Json数据。
以下是使用System.Text.Json
和Newtonsoft.Json
进行Json序列化和反序列化的示例代码:
using System;
using System.Text.Json;
using Newtonsoft.Json;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
public class Program
{
public static void Main()
{
// 使用System.Text.Json序列化
var person = new Person { Name = "John", Age = 30 };
var json = JsonSerializer.Serialize(person);
Console.WriteLine(json);
// 使用System.Text.Json反序列化
var jsonString = "{\"Name\":\"John\",\"Age\":30}";
var deserializedPerson = JsonSerializer.Deserialize<Person>(jsonString);
Console.WriteLine(deserializedPerson.Name);
Console.WriteLine(deserializedPerson.Age);
// 使用Newtonsoft.Json序列化
var newtonsoftJson = JsonConvert.SerializeObject(person);
Console.WriteLine(newtonsoftJson);
// 使用Newtonsoft.Json反序列化
var newtonsoftJsonString = "{\"Name\":\"John\",\"Age\":30}";
var newtonsoftDeserializedPerson = JsonConvert.DeserializeObject<Person>(newtonsoftJsonString);
Console.WriteLine(newtonsoftDeserializedPerson.Name);
Console.WriteLine(newtonsoftDeserializedPerson.Age);
}
}
虽然.NET BCL中没有现成的Json Serialization助手类,但是它提供了足够的类和方法来处理Json数据。
领取专属 10元无门槛券
手把手带您无忧上云