c#如何獲取json數(shù)組里指定參數(shù)
c#獲取json數(shù)組里指定參數(shù)
json格式如圖

我要獲取items里的positive_prob這個int型的值
分解json,responseString是如上圖格式:
JObject jsonObj = JObject.Parse(responseString);
分解后的jsonObj格式如圖

指定數(shù)據(jù)為數(shù)組
JArray item = JArray.Parse(jsonObj["items"].ToString()); string positive = item[0]["positive_prob"].ToString();
成功!
c#讀取json文件
C# 讀取 JSON 文件并讀取某一個關(guān)鍵字的值可以使用 Newtonsoft.Json 庫。
假設(shè)我們的 JSON 文件如下所示:
{
"name": "Alice",
"age": 25,
"is_student": true,
"hobbies": [
"reading",
"travelling"
]
}要讀取其中的某一個關(guān)鍵字的值,首先需要定義一個對應(yīng)的實體類來存儲 JSON 數(shù)據(jù)。
例如,可以定義以下類:
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);
// 獲取某一個關(guān)鍵字的值
Console.WriteLine(person.Name);
}在此代碼中,我們首先使用 StreamReader 打開 JSON 文件,并將其讀入一個字符串中。然后,我們使用 JsonConvert.DeserializeObject<Person>() 函數(shù)對這個字符串進行反序列化,得到一個 Person 類型的對象 person,通過 person 對象可以訪問 JSON 數(shù)據(jù)中的各種信息,例如獲取 name 關(guān)鍵字的值可以使用 person.Name。
需要注意的是,以上示例中的代碼只是最基本的讀取 JSON 文件并獲取某一個關(guān)鍵字的值的方法。
如果要讀取包含更復(fù)雜結(jié)構(gòu)的 JSON 文件,還需要進一步了解和熟悉 Newtonsoft.Json 庫中的各種操作和函數(shù)。
此外,如果 JSON 數(shù)據(jù)中的某個關(guān)鍵字的名稱與 C# 中的保留關(guān)鍵字相同,可以在實體類中給該屬性加上 [JsonProperty("keyName")] 的特性來指定該屬性對應(yīng)的 JSON 關(guān)鍵字。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
C#搜索TreeView子節(jié)點,保留父節(jié)點的方法
這篇文章主要介紹了C#搜索TreeView子節(jié)點,保留父節(jié)點的方法,實例分析了C#操作TreeView節(jié)點的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09

