【发布时间】:2015-12-10 12:56:12
【问题描述】:
{
"Profile": {
"dProperty1": {
"a": "value",
"b": "value",
"c": "value",
"d": "value",
"e": "value"
},
"dProperty2": {
"a": "value",
"b": "value",
"d": "value",
"e": "value"
},
"dProperty3": {
"a": "value",
"b": "value",
"d": "value",
"e": "value"
}
}
}
我有一个 JSON 对象,它可以有任意数量的动态属性。所有属性都是主要由相同字段组成的对象。如何在 C# 中将此 JSON 解析为强类型对象?
【问题讨论】:
-
他们会一直保持同一个名字吗?这有点“不干净”,但过去我创建了一个类,其中包含不同变体的所有可能属性,但 JSON 可能没有所有这些属性。它只是忽略了类中在 JSON 中没有对应的属性。
-
创建具有所有可能属性的类型并将 JSON 解散到它。
-
您可以将 Profile 反序列化为 Dictionary
(其中 AbcdeClass 包含来自 JSON 的属性的叠加),例如这里 stackoverflow.com/questions/20727787/…