C#教程

关注公众号 jb51net

关闭
首页 > 软件编程 > C#教程 > c#获取json数组里指定参数

c#如何获取json数组里指定参数

作者:ZyLL_123

这篇文章主要介绍了c#如何获取json数组里指定参数问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

c#获取json数组里指定参数

json格式如图

我要获取items里的positive_prob这个int型的值

分解json,responseString是如上图格式:

JObject jsonObj = JObject.Parse(responseString);        

分解后的jsonObj格式如图

指定数据为数组

JArray item = JArray.Parse(jsonObj["items"].ToString());                           
string positive = item[0]["positive_prob"].ToString();

成功!

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 关键字。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文