汽车发电机对象设计

时间:2019-05-17 17:30:25

标签: c# json object asp.net-core

我正在做一个.NET Core教程,在理解运动方面遇到了麻烦。我有一个简单的页面,其中包含用于将新车添加到数据库的表单。用户单击“添加新车”并在需要提供时加载表格:车身样式(下拉列表),颜色,V-max,变速箱类型(下拉列表),门数和VIN编号,然后单击“保存” ”,然后将汽车添加到数据库中。它已经完成并且工作正常。

现在,我必须对其进行一些更改,仅在单击“添加新车”下拉列表后,显示可能的车类型,用户选择特定的车类型,然后加载与以前相同的表格,但会根据配置预先填充数据文件。

锻炼方法如下: a)创建JSON配置文件,其中包含针对特定汽车类型的预定义设置(不必包含所有设置), b)为汽车发电机对象提出设计方案。

虽然我对a)点没有问题,但是我对b)点感到挣扎,只是因为...我不明白。我的配置文件示例如下所示:

[
 {
  "Body style": "Kombi",
  "Color": "Red",
  "V-max": 240,
  "Gearbox type": "Manual"
 },
 {
  "Body style": "Sedan",
  "Color": "Blue",
  "Number of doors": 5,
  "VIN number": "SomeVIN123"
 }
] 

我现在该怎么办?我知道我必须创建一些类来处理从JSON文件读取的数据,以将其传递给表单,但是“汽车生成器对象的设计”到底是怎么回事?

仅是我应该准备这堂课吗?像这样吗?

 public class CarType
 {
     public string bodyStyle { get; set; }
     public string Color { get; set; }
     public int vMax { get; set; }
     public string gearboxType { get; set; }
     public int doorsNumber { get; set; }
     public string vinNumber { get; set; }
 }

1 个答案:

答案 0 :(得分:0)

您需要创建另一个类:

 public class CarTypeEntity
     {
        [JsonProperty("Cars")]
        public List<CarType> Cars { get; set; }
     }

public class CarType
 {
     [JsonProperty("Body style")]
     public string bodyStyle { get; set; }

     [JsonProperty("Color")]
     public string Color { get; set; }

     [JsonProperty("V-max")]
     public int vMax { get; set; }

     [JsonProperty("Gearbox type")]
     public string gearboxType { get; set; }

     [JsonProperty("Number of doors")]
     public int doorsNumber { get; set; }

     [JsonProperty("VIN number")]
     public string vinNumber { get; set; }
 }

并取消现实化

CarTypeEntity result = JsonConvert.DeserializeObject<CarTypeEntity>(yourString);

您的字符串将是这样:

'Cars': [
 {
  "Body style": "Kombi",
  "Color": "Red",
  "V-max": 240,
  "Gearbox type": "Manual"
 },
 {
  "Body style": "Sedan",
  "Color": "Blue",
  "Number of doors": 5,
  "VIN number": "SomeVIN123"
 }
]