MST

星途 面试题库

面试题:C#中如何使用JSON.NET库实现对象的JSON序列化与反序列化

假设你有一个简单的C#类,包含几个属性,例如一个表示学生信息的类Student,有Name、Age等属性。请描述使用JSON.NET库对该类对象进行JSON序列化和反序列化的步骤,并给出关键代码示例。
48.4万 热度难度
编程语言C#

知识考点

AI 面试

面试题答案

一键面试
  1. 安装JSON.NET库
    • 如果使用NuGet包管理器,在Visual Studio的“程序包管理器控制台”中运行命令:Install - Package Newtonsoft.Json
  2. 序列化步骤
    • 引入命名空间:using Newtonsoft.Json;
    • 创建Student类实例并设置属性值。
    • 使用JsonConvert.SerializeObject方法进行序列化。
    • 关键代码示例:
using System;
using Newtonsoft.Json;

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

class Program
{
    static void Main()
    {
        Student student = new Student { Name = "John", Age = 20 };
        string json = JsonConvert.SerializeObject(student);
        Console.WriteLine(json);
    }
}
  1. 反序列化步骤
    • 引入命名空间:using Newtonsoft.Json;
    • 有一个JSON字符串。
    • 使用JsonConvert.DeserializeObject<T>方法进行反序列化,T为目标类型(如Student)。
    • 关键代码示例:
using System;
using Newtonsoft.Json;

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

class Program
{
    static void Main()
    {
        string json = "{\"Name\":\"John\",\"Age\":20}";
        Student student = JsonConvert.DeserializeObject<Student>(json);
        Console.WriteLine($"Name: {student.Name}, Age: {student.Age}");
    }
}