ASP.NET API return 对象的一部分作为 json
ASP.NET API return part of object as json
我正在使用 ASP.NET API 并且我有一个我希望从控制器 return 的对象,到目前为止我一直在使用 return Ok(item);
.
这将 return 该项目的所有属性,但是我想 return 从中选择属性,例如仅名称和日期而不是所有内容。
我怎样才能做到这一点?
你可以使用匿名类型;应该可以正常工作:
return Ok(new { name = item.Name, date = item.Date});
如果没有,您可以简单地创建一个具有 Name/Date 属性的 class;就像你 return 项目,它被序列化为一个 JSON 对象,匿名和自定义 classes 也可以序列化 OK。
编辑:如果你有一个内部集合,你也可以通过以下方式生成一个子集:
new {
name = item.Name,
moreitems = item.subitems.Select(i => new { name = i.Name, etc })
}
或者,这是创建具有属性子集的视图模型可能有益的地方,可以简化过程。
我正在使用 ASP.NET API 并且我有一个我希望从控制器 return 的对象,到目前为止我一直在使用 return Ok(item);
.
这将 return 该项目的所有属性,但是我想 return 从中选择属性,例如仅名称和日期而不是所有内容。
我怎样才能做到这一点?
你可以使用匿名类型;应该可以正常工作:
return Ok(new { name = item.Name, date = item.Date});
如果没有,您可以简单地创建一个具有 Name/Date 属性的 class;就像你 return 项目,它被序列化为一个 JSON 对象,匿名和自定义 classes 也可以序列化 OK。
编辑:如果你有一个内部集合,你也可以通过以下方式生成一个子集:
new {
name = item.Name,
moreitems = item.subitems.Select(i => new { name = i.Name, etc })
}
或者,这是创建具有属性子集的视图模型可能有益的地方,可以简化过程。