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

标签 c# .net json.net

我有以下 Json 集合,我需要将其表示为 .Net 集合。从本质上讲,它是一个键值对列表,其中的键 (col) 可能有重复项(现阶段字典已出)。

我排序和分组会很好,但不是必需的。能否帮助确定最适合的 .Net 枚举?

[
    {
        "col": "thiscol",
        "val": "thisval"
    },
    {
        "col": "thiscol",
        "val": "thisval2"
    },
    {
        "col": "thiscol2",
        "val": "thisval2"
    },
    {
        "col": "thiscol3",
        "val": "thisval3"
    }
]

最佳答案

使用 Json.Net

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

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

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

内置JavaScriptSerializer & dynamic

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

关于c# - 将 Json 对象数组转换为最合适的 .Net 集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10096586/

相关文章:

c# - Razor 是倒退了一步吗?

c# - Json.net getter 属性未序列化

c# - JSON.NET 默默地忽略循环引用并将链中的任意链接设置为 null 以解决它们

C# 使用 JSON.Net 解析 JSON 数字属性

c# - 使用动态基地址 retrofit 客户端

c# - 如何正确使用任务?

c# - GPIO windows IOT Core 的可变电压

c# - 为什么不使用 Entity Framework 创建代码优先表?

c# - 读取拆分的 TCP 数据包

.net - LINQ to Entities 无法识别方法 Int32 get_Item(Int32)