c JSON.net 是一個流行的用于解析和生成 JSON 數據的 C# 庫。它提供了簡潔的 API,便于開發人員來處理 JSON 數據。
對象數組是 JSON 數據中一種常用的數據類型,表示一組具有相同結構的對象。c JSON.net 中提供了便捷的方法來處理對象數組。
下面是一個示例 JSON 數據,包含一個名為 "students" 的對象數組:
{ "students": [ { "name": "Tom", "age": "18", "grade": "A" }, { "name": "Lucy", "age": "20", "grade": "B" }, { "name": "Jack", "age": "19", "grade": "C" } ] }
使用 c JSON.net 解析該 JSON 數據,我們可以使用 JObject 類來獲取 "students" 對應的 JArray,然后使用 JArray 的 Count 屬性獲取對象數組中元素的數量:
JObject obj = JObject.Parse(jsonString); JArray array = (JArray)obj["students"]; int count = array.Count;
我們還可以遍歷對象數組中的每個元素,使用 JArray 的索引訪問元素,并使用 JObject 的 GetValue 方法獲取元素的屬性值:
foreach (JObject student in array) { string name = student.GetValue("name").ToString(); string age = student.GetValue("age").ToString(); string grade = student.GetValue("grade").ToString(); }
同時,我們也可以使用 JObject 的 SelectToken 方法獲取對象數組中所有元素的指定屬性值,并將其存儲在一個列表中:
Listnames = array.SelectTokens("$.[*].name").Select(x =>x.ToString()).ToList(); List ages = array.SelectTokens("$.[*].age").Select(x =>x.ToString()).ToList(); List grades = array.SelectTokens("$.[*].grade").Select(x =>x.ToString()).ToList();
在生成 JSON 數據時,我們也可以使用 JArray 類來創建對象數組。以下是創建與之前相同的對象數組的示例代碼:
JObject obj = new JObject(); JArray array = new JArray(); array.Add(new JObject(new JProperty("name", "Tom"), new JProperty("age", 18), new JProperty("grade", "A"))); array.Add(new JObject(new JProperty("name", "Lucy"), new JProperty("age", 20), new JProperty("grade", "B"))); array.Add(new JObject(new JProperty("name", "Jack"), new JProperty("age", 19), new JProperty("grade", "C"))); obj.Add(new JProperty("students", array)); string jsonString = obj.ToString();
通過以上方法,我們可以輕松地處理對象數組的 JSON 數據,實現我們所需的功能。
上一篇c json.net下載
下一篇Python 輸出方陣