在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键的值对数组进行了升序和降序排序。最后,我们遍历排序后的数组并打印每个元素。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。