我有以下JSON文件,
{
"NAME": {
"ABC": {
"Score": 2,
"violations": []
},
"DEF": {
"Score": 4,
"violations": []
},
"GHI": {
"Score": 6,
"violations": ["badform"]
}
}
我试图通过创建一个类去除这个,但是我发现构造类非常困难,因为我要么得到空值,要么JSON.net崩溃。谁能告诉我构建反序列化器的最佳方法呢?
答案 0 :(得分:2)
这应该可行(至少它可以在这里工作,如果我在JSON文件的末尾添加缺少的“}”:
using ParsedData = Dictionary<string, Dictionary<string, A>>;
class A {
public int Score;
public string[] violations;
}
var parsed = JsonConvert.DeserializeObject<ParsedData>(…);
另一个版本:
class A {
public int Score;
public string[] violations;
}
class B : Dictionary<string, A> {}
class C : Dictionary<string, B> {}
var parsed = JsonConvert.DeserializeObject<C>(…);