Skip to main content
 首页 » 编程设计

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

2024年01月13日27Terrylee

我有以下 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"]); 
}