sort json array by key c#

在 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 对象,然后使用 OrderByThenBy 方法按照 age 字段升序排列,如果 age 相同,则按照 name 字段升序排列。最后,我们将排序后的 JArray 对象转换回 JSON 字符串并输出。

需要注意的是,在使用 OrderByThenBy 方法进行排序时,必须将 JSON 数组的元素转换为 JObject 对象,才能访问它们的键和值。

  •