在JSON响应中指定类类型

时间:2015-06-01 18:30:36

标签: c# json asp.net-web-api

我已经构建了一个返回JSON的基本c#webapi应用程序。

我的系统会有很多课程,我会以汽车为例。

我有一个名为Car的抽象类,它有许多不同类型的汽车从汽车继承。例如卡车,轿车,豪华轿车,推土机,救护车等。这些都有一些额外的属性。

我的应用程序中的所有内容都按预期工作,但当我查询/ api / Cars /并取回所有汽车时,我可能会得到类似的内容:

{
    "Id": 6290,
    "Make": "GM",
    "Model": "Yukon",
    "Seats": 7
},
{
    "Id": 6291,
    "Make": "Caterpillar",
    "Model": "D11T",
    "BucketWidth": 14.5
},
{
    "Id": 6292,
    "Make": "Braun",
    "Model": "Express",
    "Siren": "ACME"
}

所以,作为消费者,他们怎么知道第一项是SUV,第二项是推土机,第三项是救护车?

我是否将一个属性添加到名为" CarType"的基类中。他们会有条件地使用它来将它映射到一个类的结尾?

1 个答案:

答案 0 :(得分:1)

您可以使用DTO模式将要从Web API公开的所有属性合并到客户端。

在您的情况下可以执行此操作: 1-创建CarDto类(如果您愿意,可以使用anohter名称)以及要公开的所有属性 2 - 创建CarDto类型的列表,该列表将填充您的数据 3 - 将车辆结果替换为车辆结果。

我希望这会对你有所帮助。