在 C# 中,您可以使用 LINQ 库中的
OrderBy
和
ThenBy
方法来排序 JSON 数组。以下是一个示例代码:
using System.Linq;
using Newtonsoft.Json.Linq;
// 假设你有一个 JSON 数组
string jsonString = "[{\"name\":\"John\",\"age\":30},{\"name\":\"Alice\",\"age\":25},{\"name\":\"Bob\",\"age\":40}]";
// 将 JSON 数组转换为 JArray 对象
JArray jsonArray = JArray.Parse(jsonString);
// 按照 age 字段升序排列,如果 age 相同,按照 name 字段升序排列
var sortedArray = jsonArray.OrderBy(obj => (int)obj["age"]).ThenBy(obj => (string)obj["name"]);
// 输出排序后的 JSON 数组
Console.WriteLine(sortedArray.ToString());
在上面的示例中,我们首先将 JSON 字符串转换为 JArray
对象,然后使用 OrderBy
和 ThenBy
方法按照 age
字段升序排列,如果 age
相同,则按照 name
字段升序排列。最后,我们将排序后的 JArray
对象转换回 JSON 字符串并输出。
需要注意的是,在使用 OrderBy
和 ThenBy
方法进行排序时,必须将 JSON 数组的元素转换为 JObject
对象,才能访问它们的键和值。