【发布时间】:2013-11-01 23:28:21
【问题描述】:
我想将此 JSON 反序列化为 C# 类,但我需要先定义该类:
{
"Prods": [
{
"ID": {
"1001": [
{
"Name": "Name1",
"Prod": "XXX"
},
{
"Name": "Name2",
"Prod": "XXXX"
}
]
}
},
{
"ID": {
"2001": [
{
"Name": "Name3",
"Prod": "XXX-000"
},
{
"Name": "Name4",
"Prod": "XXXX-1111"
}
]
}
}
]
}
我想将它反序列化成这样的东西,但不确定我的 JSON 结构是否适合它:
public class Prod
{
int CATID;
Dictionary<string, string> prods = new Dictionary<string, string>();
}
public class Prods
{
public List<Prod> Products {get;set;}
}
我应该如何更改上面的 JSON 以适应它下面的类,以便我可以使用 JsonConvert 反序列化到它?
谢谢!
【问题讨论】:
-
您的 JSON 具有“ID”、“Name”、“Prod”等字段名称,这意味着它不会一步转换为字典。您最好的选择是反序列化为 Lists<.> 然后从那里运行 .Select(...).ToDictionary(...).
-
您希望您的 C# 匹配 JSON,还是您的 JSON 匹配 C# 代码?还是您愿意接受其中任何一个方面的变化?
-
为 JSON 中的 all 对象定义自定义类型。
-
我希望 JSON 匹配 C#。
标签: c# json deserialization