我正在使用JSON.NET並且必須反序列化此結構。JSON反序列化「unhandy」字典
"NameValue": [
{
"Name": "CONO",
"Value": "001"
},
{
"Name": "DIVI",
"Value": " "
},
{
"Name": "LNCD",
"Value": "DE"
},
{
"Name": "CUNO",
"Value": "#AT-VORL "
},
]
這是一個較大的對象的一部分,我想反序列化到MyType
。我可以有一個屬性NameValue,這是一個鍵入對象的列表MyNameValue
,它有兩個屬性Name
和Value
。但這只是一個字典的怪異表示(名字永遠不會重疊),所以我想要一個.NET字典,它會更方便。
如何在我的類上使用屬性來實現此目的?
什麼樣的作品是這樣的:
private class JsonResponseRecord
{
public string RowIndex { get; set; }
[JsonProperty(PropertyName = "NameValue")]
public List<KeyValuePair<string, string>> Values { get; set; }
}
但它與所有的按鍵都null
而值是否正確填寫KeyValuePairs的列表結束。我想他會要求JSON有"Key"
而不是"Name"
。
要明確:我想有一個Dictionary<string, string>
類型Values
屬性一樣的:
private class JsonResponseRecord
{
public string RowIndex { get; set; }
[JsonProperty(PropertyName = "NameValue")]
public Dictionary<string, string> Values { get; set; }
}
我想可能期望的「鑰匙」,而不是「名」,但是這必須是相當容易,雖然克服了,最壞的情況下,你可以使用動態類型,以填補KeyValuePair或將它反序列化爲一個具有正確名稱的類,也可能是一個選項。 – Viezevingertjes