在 C# 中读取 JSON 文件

Muhammad Maisam Abbas 2023年10月12日
在 C# 中读取 JSON 文件

本教程将讨论在 C# 中读取 JSON 文件的方法。

在 C# 中使用 JsonConvert 类读取 JSON 文件

JsonConvert 类可用于将 JSON 数据读入对象和变量,并以 C# 格式写入 JSON 格式的对象和变量。JsonConvert 类存在于 Json.net 框架中,尚未预先安装。下面给出了安装 Json.net 的命令。

Install-Package Newtonsoft.Json

在本文中,我们将使用以下 JSON 数据。

{
    "key1": "value1",
    "key2": "value2",
    "key3": "value3"
}

为了从该文件中读取数据,我们首先必须创建一个模型类,其中包含我们要从文件中读取的所有属性。

file.json:

class datamodel {
  public string key1 { get; set; }
  public string key2 { get; set; }
  public string key3 { get; set; }
}

现在,我们有了一个模型类,该模型类会将 JSON 文件中的所有数据存储到类对象中。我们可以使用 C# 中的 JsonConvert.DeserializeObject() 函数从文件中获取数据。JsonConvert.DeserializeObject() 函数以字符串变量的形式获取 JSON 数据,并将其转换为指定的数据模型类对象。以下代码示例向我们展示了如何使用 C# 中的 JsonConvert.DeserializeObject() 函数从类对象中的 JSON 文件中获取数据。

StreamReader r = new StreamReader("file.json");
string jsonString = r.ReadToEnd();
datamodel m = JsonConvert.DeserializeObject<datamodel>(jsonString);

我们初始化了一个 StreamReader-r 以读取包含 JSON 数据 file.json 的文件。然后,我们初始化了 jsonString,这是 file.json 文件中的所有数据。我们创建了 datamodelm 的实例,以存储 JsonConvert.DeserializeObject<datamodel>(jsonString) 函数返回的值。这是在 C# 中从 JSON 文件读取数据或将数据写入 JSON 文件的最简单方法。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

相关文章 - Csharp JSON