ASP.NET API将对象的一部分作为json返回

时间:2015-07-31 14:15:56

标签: asp.net json api rest controller

我正在使用ASP.NET API,我想从控制器返回一个对象,到目前为止我一直在使用return Ok(item);

这将返回该项目的所有属性,但是我想从中返回选定的属性,例如名称和日期而不是所有内容。

我该如何做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以使用匿名类型;应该可以正常工作:

return Ok(new { name = item.Name, date = item.Date});

如果没有,您只需创建一个具有Name / Date属性的类;就像你返回item并将它序列化为一个JSON对象一样,匿名和自定义类也会序列化OK。

编辑:如果您有内部集合,您还可以通过以下方式生成子集:

new { 
      name = item.Name, 
      moreitems = item.subitems.Select(i => new { name = i.Name, etc })
}

或者,这是创建具有属性子集的视图模型可能有益的地方,以使过程更容易。