要按字段值对数组中的JObject进行排序,可以使用LINQ的OrderBy方法。下面是一个示例代码:
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
public class Program
{
public static void Main(string[] args)
{
// 创建包含JObject的数组
JArray array = new JArray();
JObject obj1 = new JObject();
obj1["name"] = "John";
obj1["age"] = 25;
array.Add(obj1);
JObject obj2 = new JObject();
obj2["name"] = "Alice";
obj2["age"] = 30;
array.Add(obj2);
JObject obj3 = new JObject();
obj3["name"] = "Bob";
obj3["age"] = 20;
array.Add(obj3);
// 按age字段值对数组进行排序
var sortedArray = array.OrderBy(obj => (int)obj["age"]).ToList();
// 输出排序后的数组
foreach (JObject obj in sortedArray)
{
Console.WriteLine(obj.ToString());
}
}
}
输出结果为:
{
"name": "Bob",
"age": 20
}
{
"name": "John",
"age": 25
}
{
"name": "Alice",
"age": 30
}
这段代码创建了一个包含JObject的数组,然后使用OrderBy方法按照JObject中的age字段进行排序。最后,使用foreach循环输出排序后的数组。