2

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());
    }

この関数は、ソートしようとしている JsonArray を保持している JsonValue を返します。

4

1 に答える 1

2

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"]);
            }
        }
    }
}
于 2012-07-27T06:40:19.787 に答える