C# 语言。控制台应用程序。
我有一个以下格式的 json 文档:
{"Cars":{"Mercedes": 1,"BMW": 3,"Toyota": 0},"Bikes":{"Kawasaki": 5,"Pulsar": 4}}
我有以下类(class):
public class Vehicles
{
public Cars cars {get; set;}
public Bikes bikes {get; set;}
}
public class Cars
{
Dictionary<string, int> carcount {get; set;}
}
public class Bikes
{
Dictionary<string, int> bikecount {get; set;}
}
我必须将 json 反序列化到类中。 我试过这个
Vehicles jsondata = JsonConvert.DesrializeObject<Vehicles>(jsonstring);
我将自行车和汽车中的字典设置为空。我知道我错过了一些非常基本的东西。但无法弄清楚到底是什么。
另外,json 字符串格式不能更改。不过,类结构可以改变。
最佳答案
您没有名为 carcount
或 bikecount
的级别。相反,您可以立即获得词典。
public class Vehicles
{
public Dictionary<string, int> Cars {get; set;}
public Dictionary<string, int> Bikes {get; set;}
}
请注意,属性名称区分大小写,因此在混合大小写时要非常小心。
(您可能可以按照描述的步骤 in this answer 来更容易地完成此操作。不幸的是,这没有考虑字典。它至少会给您一个字典应该在的起点。)
关于c# - 将 Json 文档反序列化为 C# 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43612686/