我有以下 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/