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)的實(shí)體類來存儲 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ù)對這個字符串進(jìn)行反序列化,得到一個 Person 類型的對象 person,通過 person 對象可以訪問 JSON 數(shù)據(jù)中的各種信息,例如獲取 name 關(guān)鍵字的值可以使用 person.Name。
需要注意的是,以上示例中的代碼只是最基本的讀取 JSON 文件并獲取某一個關(guān)鍵字的值的方法。
如果要讀取包含更復(fù)雜結(jié)構(gòu)的 JSON 文件,還需要進(jìn)一步了解和熟悉 Newtonsoft.Json 庫中的各種操作和函數(shù)。
此外,如果 JSON 數(shù)據(jù)中的某個關(guān)鍵字的名稱與 C# 中的保留關(guān)鍵字相同,可以在實(shí)體類中給該屬性加上 [JsonProperty("keyName")] 的特性來指定該屬性對應(yīng)的 JSON 關(guān)鍵字。
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
C#搜索TreeView子節(jié)點(diǎn),保留父節(jié)點(diǎn)的方法
這篇文章主要介紹了C#搜索TreeView子節(jié)點(diǎn),保留父節(jié)點(diǎn)的方法,實(shí)例分析了C#操作TreeView節(jié)點(diǎn)的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09