将Json对象数组转换为最合适的.Net集合

Bur*_*urt 1 .net c# json.net

我有以下Json集合,我需要将其表示为.Net集合.实际上它是一个键值对列表,其中键(col)可能具有dublicates(字典在此阶段已经出局).

我排序和分组会很好,但不是必需的.有什么帮助可以确定最好的.Net枚举是最合适的吗?

[
    {
        "col": "thiscol",
        "val": "thisval"
    },
    {
        "col": "thiscol",
        "val": "thisval2"
    },
    {
        "col": "thiscol2",
        "val": "thisval2"
    },
    {
        "col": "thiscol3",
        "val": "thisval3"
    }
]
Run Code Online (Sandbox Code Playgroud)

L.B*_*L.B 13

使用Json.Net

dynamic dynObj = JsonConvert.DeserializeObject(yourstring);
foreach (var item in dynObj)
{
    Console.WriteLine(item.col + " " + item.val);
}
Run Code Online (Sandbox Code Playgroud)

要么

JArray jArray = (JArray)JsonConvert.DeserializeObject(yourstring);
var newlist = jArray.OrderByDescending(x => x["val"]).ToArray();
Run Code Online (Sandbox Code Playgroud)

要么

JArray jArray = (JArray)JsonConvert.DeserializeObject(yourstring);
dynamic dynObj1 = jArray.OrderByDescending(x => x["val"]);
foreach (var item in dynObj1)
{
    Console.WriteLine(item.col + " " + item.val);
}
Run Code Online (Sandbox Code Playgroud)

或者内置JavaScriptSerializer&dynamic

dynamic dynObj2 = new JavaScriptSerializer().Deserialize<List<object>>(yourstring);
foreach (var item in dynObj2)
{
    Console.WriteLine(item["col"] + " " + item["val"]);
}
Run Code Online (Sandbox Code Playgroud)