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

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

