C#读取json文件

C# 读取 JSON 文件并读取某一个关键字的值可以使用 Newtonsoft.Json 库。假设我们的 JSON 文件如下所示:

{
    "name": "Alice",
    "age": 25,
    "is_student": true,
    "hobbies": [
        "reading",
        "travelling"
    ]
}

要读取其中的某一个关键字的值,首先需要定义一个对应的实体类来存储 JSON 数据。例如,可以定义以下类:

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
    public bool IsStudent { get; set; }
    public List<string> Hobbies { get; set; }
}

然后,可以使用以下代码读取 JSON 文件,并将其反序列化为 Person 类型的对象:

using Newtonsoft.Json;
using System.IO;

// 读取 JSON 文件
string jsonFilePath = "example.json";
using (StreamReader sr = new StreamReader(jsonFilePath))
{
    string json = sr.ReadToEnd();
    // 解析 JSON 字符串
    var person = JsonConvert.DeserializeObject<Person>(json);
    // 获取某一个关键字的值
    Console.WriteLine(person.Name);
}

在此代码中,我们首先使用 StreamReader 打开 JSON 文件,并将其读入一个字符串中。然后,我们使用 JsonConvert.DeserializeObject<Person>() 函数对这个字符串进行反序列化,得到一个 Person 类型的对象 person,通过 person 对象可以访问 JSON 数据中的各种信息,例如获取 name 关键字的值可以使用 person.Name

需要注意的是,以上示例中的代码只是最基本的读取 JSON 文件并获取某一个关键字的值的方法。如果要读取包含更复杂结构的 JSON 文件,还需要进一步了解和熟悉 Newtonsoft.Json 库中的各种操作和函数。此外,如果 JSON 数据中的某个关键字的名称与 C# 中的保留关键字相同,可以在实体类中给该属性加上 [JsonProperty("keyName")] 的特性来指定该属性对应的 JSON 关键字。

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#可以使用Newtonsoft.Json和LitJson两个库来读取JSON文件。其中,Newtonsoft.Json是一个流行的第三方库,而LitJson是一个轻量级的JSON库。下面是使用Newtonsoft.Json读取JSON文件的示例代码: 1. 首先需要在项目中安装Newtonsoft.Json库。 2. 然后,可以使用以下代码读取JSON文件,并将其反序列化为Person类型的对象: ``` using Newtonsoft.Json; using System.IO; // 读取 JSON 文件 string jsonFilePath = "example.json"; using (StreamReader sr = new StreamReader(jsonFilePath)) { string json = sr.ReadToEnd(); // 解析 JSON 字符串 var person = JsonConvert.DeserializeObject<Person>(json); // 获取某一个关键字的值 Console.WriteLine(person.Name); } ``` 其中,Person是一个自定义的类,需要根据JSON文件的结构来定义。 另外,如果使用LitJson库,可以使用以下代码读取JSON文件: ``` using LitJson; using System.IO; // 读取 JSON 文件 string jsonFilePath = "example.json"; using (StreamReader sr = new StreamReader(jsonFilePath)) { string json = sr.ReadToEnd(); // 解析 JSON 字符串 JsonData jsonData = JsonMapper.ToObject(json); // 遍历数组信息 foreach (JsonData temp in jsonData) { // 获取某一个关键字的值 int id = Int32.Parse(temp["id"].ToString()); string name = temp["name"].ToString(); int number = Int32.Parse(temp["number"].ToString()); // 输出 Console.WriteLine(id + ":" + name + ":" + number); } } ``` 其中,JsonData是LitJson库中的一个类,表示JSON数据。需要根据JSON文件的结构来获取其中的关键字的值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值