C# 獲取 JSON 數據的某一字段值是許多開發人員需要處理的常見問題。在 C# 中,可以使用 Newtonsoft.Json.Net 工具庫來處理 JSON 數據。
using Newtonsoft.Json.Linq; // 假設 JSON 數據為 {"name":"小明","age":18} JObject obj = JObject.Parse("{\"name\":\"小明\",\"age\":18}"); string name = obj["name"].ToString(); // 獲取 name 字段的值 int age = (int)obj["age"]; // 獲取 age 字段的值
代碼中,JObject.Parse 將 JSON 字符串解析成 JObject 對象,然后使用 obj["key"] 來訪問 JSON 對象中的字段。如果字段的值為字符串類型,可以使用 ToString() 方法獲取。如果字段的值為數字類型,可以將 obj["key"] 強制轉換為對應的數據類型。
如果 JSON 數據為數組,可以使用 JArray.Parse 解析。
using Newtonsoft.Json.Linq; // 假設 JSON 數據為 {"list":[{"name":"小明","age":18},{"name":"小紅","age":20}]} JObject obj = JObject.Parse("{\"list\":[{\"name\":\"小明\",\"age\":18},{\"name\":\"小紅\",\"age\":20}]}"); JArray arr = JArray.Parse(obj["list"].ToString()); // 獲取 list 字段對應的數組 foreach (JObject item in arr) { string name = item["name"].ToString(); // 獲取 name 字段的值 int age = (int)item["age"]; // 獲取 age 字段的值 }
代碼中,obj["list"] 獲取到的是 JArray 對象,需要將其轉換為字符串類型再使用 JArray.Parse 解析。然后使用 foreach 遍歷數組中的每個元素,并通過 item["key"] 獲取字段對應的值。
下一篇c# 操作json