C# JArray 的排序
在C#中,如果你想对JArray进行排序,你可以使用LINQ to JSON提供的扩展方法。JArray类继承自JContainer,而JContainer实现了IEnumerable<JToken>接口,这意味着你可以使用LINQ查询操作符来对其进行排序。
以下是一个使用LINQ对JArray进行排序的例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
using Newtonsoft.Json.Linq; using System; using System.Linq; public class Program { public static void Main() { JArray array = JArray.Parse(@"[ { 'Name': 'Alice', 'Age': 25 }, { 'Name': 'Bob', 'Age': 22 }, { 'Name': 'Charlie', 'Age': 28 } ]"); // 按照Age升序排序 var sortedAscending = array.OrderBy(t => t["Age"]).ToList(); // 按照Age降序排序 var sortedDescending = array.OrderByDescending(t => t["Age"]).ToList(); // 输出排序结果 foreach (var item in sortedAscending) { Console.WriteLine(item); } Console.WriteLine("----------------"); foreach (var item in sortedDescending) { Console.WriteLine(item); } } } |
在这个例子中,我们首先解析了一个包含三个对象的JArray。然后,我们使用OrderBy和OrderByDescending方法根据每个对象的Age键的值对数组进行了升序和降序排序。最后,我们遍历排序后的数组并打印每个元素。
创作不易,用心坚持,请喝一怀爱心咖啡!继续坚持创作~~
