C# 读取并解析 Json 文件

作者:编程家 分类: c++ 时间:2025-09-19

使用C#语言读取并解析JSON文件是一项非常常见的任务。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它在Web开发中被广泛使用。C#提供了许多强大的库和工具,使我们能够轻松地读取和处理JSON数据。本文将介绍如何使用C#读取和解析JSON文件,并提供一个简单的示例代码。

读取JSON文件

首先,我们需要使用C#中的System.IO命名空间来读取JSON文件。我们可以使用StreamReader类来打开并读取文件内容。假设我们的JSON文件名为data.json,我们可以按照以下代码来读取文件内容:

csharp

using System.IO;

string jsonFilePath = "data.json";

string jsonData = "";

using (StreamReader reader = new StreamReader(jsonFilePath))

{

jsonData = reader.ReadToEnd();

}

在上述代码中,我们首先定义了一个变量`jsonFilePath`来存储JSON文件的路径。然后,我们创建了一个空字符串`jsonData`来存储文件内容。接下来,我们使用StreamReader类打开并读取文件内容,通过ReadToEnd方法将文件内容赋值给`jsonData`变量。

解析JSON数据

一旦我们成功读取了JSON文件的内容,接下来就是解析这些数据。在C#中,可以使用Newtonsoft.Json库来处理JSON数据。这个库提供了许多方便的方法和类来解析和处理JSON数据。

首先,我们需要安装Newtonsoft.Json库。可以通过NuGet包管理器来安装这个库,或者手动下载并添加引用。

接下来,我们可以使用JsonConvert类中的DeserializeObject方法来将JSON数据转换为C#对象。假设我们的JSON数据表示一个简单的学生对象,包含姓名、年龄和成绩等信息。我们可以按照以下代码来解析JSON数据:

csharp

using Newtonsoft.Json;

public class Student

{

public string Name { get; set; }

public int Age { get; set; }

public double Grade { get; set; }

}

string jsonFilePath = "data.json";

string jsonData = "";

using (StreamReader reader = new StreamReader(jsonFilePath))

{

jsonData = reader.ReadToEnd();

}

Student student = JsonConvert.DeserializeObject(jsonData);

在上述代码中,我们首先定义了一个名为Student的类,来表示学生对象。这个类包含了三个属性:Name(姓名)、Age(年龄)和Grade(成绩)。接下来,我们使用JsonConvert类中的DeserializeObject方法将JSON数据转换为Student对象,并将结果赋值给一个名为student的变量。

示例代码

下面是一个完整的示例代码,演示了如何使用C#读取和解析JSON文件:

csharp

using System;

using System.IO;

using Newtonsoft.Json;

public class Student

{

public string Name { get; set; }

public int Age { get; set; }

public double Grade { get; set; }

}

public class Program

{

public static void Main(string[] args)

{

string jsonFilePath = "data.json";

string jsonData = "";

using (StreamReader reader = new StreamReader(jsonFilePath))

{

jsonData = reader.ReadToEnd();

}

Student student = JsonConvert.DeserializeObject(jsonData);

Console.WriteLine("学生信息:");

Console.WriteLine($"姓名:{student.Name}");

Console.WriteLine($"年龄:{student.Age}");

Console.WriteLine($"成绩:{student.Grade}");

}

}

在上述示例代码中,我们首先定义了一个Student类来表示学生对象。然后,我们使用StreamReader类来读取JSON文件的内容,并使用JsonConvert类将JSON数据解析为Student对象。最后,我们将解析后的学生对象的属性打印到控制台上。

本文介绍了如何使用C#读取和解析JSON文件。我们使用StreamReader类来读取文件内容,使用JsonConvert类来解析JSON数据。通过这些简单的步骤,我们可以轻松地读取和处理JSON数据,从而在C#中实现各种功能。

参考代码请上方查看。