【发布时间】:2016-03-15 13:59:16
【问题描述】:
我有如下json格式文件,rankingOutput
{
"12345": {
"ABC": {
"rank": 3,
"Comments": [
"Good"
]
},
"DEF": {
"rank": 2,
"Comments": [
"Good"
]
},
"GHI": {
"rank": 1,
"Comments": [
"Bad"
]
}
}
}
我有以下反序列化代码
JsonConvert.DeserializeObject<Dictionary<string, Dictionary<string, RankingsClass>>>(
System.IO.File.ReadAllText(rankingOutput));
public class RankingsClass
{
public int rank;
public string[] comments;
}
虽然上面的代码可以正确反序列化它,但我想知道是否有一个选项可以让我的反序列化器返回字符串“ABC”、“DEF”和“GHI”,根据排名字段升序排列。
【问题讨论】:
-
字典没有任何排序。您可以改用 SortedDictionary。
-
soretdDictionary 应该在哪里?像这样的东西?
JsonConvert.DeserializeObject<SortedDictionary<string, SortedDictionary<string, RankingsClass>>>( System.IO.File.ReadAllText(rankingOutput))