我们正在使用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,这正是我想要排序的。
答案 0 :(得分:1)
您尚未显示您的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"]);
}
}
}
}