如何将此json反序列化为对象列表?
问题描述:
我有此JSON味精(不留意编码):如何将此json反序列化为对象列表?
{
"U1000 R2V": {
"carac1": ["Câble d'alimentation rigide rond"],
"optionVJ": ["Oui"],
"carac4": [""],
"carac3": ["Pour alimentation de ligne électrique", "Pour alimentation des moteurs"]
},
"H05 VVF": {
"carac1": ["Câble souple rond"],
"optionVJ": ["Oui"],
"carac4": [""],
"carac3": ["Pour câblage des sélecteurs à clé", "Pour alimentation des lampe clignotantes"]
}
}
我与这些对象的尝试:
public class TypeProductList
{
public List<ProductTypeDTO> cables { get; set; }
}
public class ProductTypeDTO
{
public string[] carac1;
public string[] optionVJ;
public string[] carac4;
public string[] carac3;
}
但是,这并不工作,其实我不不知道该怎么做,因为“父元素”(我的意思是U1000 R2V,H05 VVF)正在改变每个对象。 我应该使用什么结构将其反序列化为ProductTypeDTO列表? Thx
答
正如Anton在他的评论中指出的那样,您应该首先反序列化为Dictionary<string, ProductTypeDTO>
。
代码(使用JSON.NET):
var result = JsonConvert.DeserializeObject<Dictionary<string, ProductTypeDTO>>(json);
var typeProductList = new TypeProductList { cables = result.Values.ToList(); }
+0
这是完美的工作,thx :) – Lempkin
尽量使用公共词典电缆{获得;组; }和反序列化时转换为任何类型的对象 –