C# 编程指南:JSON序列化和反序列化

在C#中进行JSON序列化和反序列化是常见的操作,可以使用内置的System.Text.Json命名空间提供的类来实现。

部分
1
JSON序列化(JSON Serialization)
JSON序列化是将对象转换为JSON格式的过程。
在C#中,可以使用System.Text.Json命名空间中的类来进行JSON序列化。
using System;
using System.Text.Json;

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

public class Program
{
    static void Main(string[] args)
    {
        Person person = new Person { Name = "John", Age = 30 };

        string jsonString = JsonSerializer.Serialize(person);
        Console.WriteLine(jsonString);
    }
}

在上述示例中,我们定义了一个名为Person的类。我们使用JsonSerializer类的Serialize方法将Person对象序列化为JSON字符串,并打印出JSON字符串。

部分
2
JSON反序列化(JSON Deserialization)
JSON反序列化是将JSON格式的数据还原为对象的过程。
在C#中,可以使用System.Text.Json命名空间中的类来进行JSON反序列化。
using System;
using System.Text.Json;

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

public class Program
{
    static void Main(string[] args)
    {
        string jsonString = "{\"Name\":\"John\",\"Age\":30}";

        Person person = JsonSerializer.Deserialize<Person>(jsonString);
        Console.WriteLine("Name: " + person.Name);
        Console.WriteLine("Age: " + person.Age);
    }
}

在上述示例中,我们使用JsonSerializer类的Deserialize方法将之前序列化的JSON字符串反序列化为Person对象,并打印出对象的属性值。 System.Text.Json提供了许多选项来自定义序列化和反序列化过程,例如处理null值、忽略缺失的属性或指定属性名称策略。你可以在微软官方的System.Text.Json文档中进一步了解这些选项。 另外,如果你更喜欢使用其他的JSON序列化库,比如Newtonsoft.Json (Json.NET),你可以通过NuGet安装它,并使用其中的JsonConvert类的SerializeObject()和DeserializeObject<T>()方法来实现类似的功能。

    目录

  • 1.
    JSON序列化(JSON Serialization)
  • 2.
    JSON反序列化(JSON Deserialization)