我们使用 System.JSON 来使用 API 调用,但似乎没有办法对数据进行排序。
在 C# ASP.NET 4 和 ASP.NET MVC 3 中运行。
这是一个输出数据调用的示例:
string requestURL = /*URL to the API*/;
WebRequest request = HttpWebRequest.Create(requestURL);
using (var response = request.GetResponse()) {
return JsonObject.Load(response.GetResponseStream());
}
此函数返回一个 JsonValue,其中包含一个 JsonArray,这就是我要排序的内容。
最佳答案
您尚未显示 JSON 的外观,也未显示您要按哪个属性排序。假设您有以下 JSON:
[
{
"Id": 1,
"Text": "item 1"
},
{
"Id": 2,
"Text": "item 2"
},
{
"Id": 3,
"Text": "item 3"
},
{
"Id": 4,
"Text": "item 4"
},
{
"Id": 5,
"Text": "item 5"
}
]
并且您希望按 Id 属性降序排序。例如可以这样做:
class Program
{
static void Main(string[] args)
{
string requestURL = "/URL to the API/";
WebRequest request = HttpWebRequest.Create(requestURL);
using (var response = request.GetResponse())
{
var result = JsonArray.Load(response.GetResponseStream());
var orderedResult = result.OrderByDescending(x => x.Value["Id"].ReadAs<int>());
foreach (var item in orderedResult)
{
Console.WriteLine("{0} : {1}", item.Value["Id"], item.Value["Text"]);
}
}
}
}
关于.net - 如何对 JsonArray 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11677020/