WebApi Odata:从响应中删除元数据

时间:2015-10-27 12:31:48

标签: odata asp.net-web-api

我正在为内部使用开发WebApi Odata服务。我想从服务器的响应中删除除序列化数据之外的所有其他数据。 我想删除所有这些东西:

{
  "@odata.context":"http://192.168.150.86:9933/odata/$metadata#Terminal","value":[

  ]
}

并且只留下“终端”数组

有没有办法做到这一点?

4 个答案:

答案 0 :(得分:3)

将以下选项添加到查询字符串中:

$format=application/json;odata.metadata=none

这将从结果中删除odata元数据。

答案 1 :(得分:0)

这是如何实现的。

var ODataJSON = JsonConvert.DeserializeObject<JObject>(json);
ODataJSON.Property("@odata.context").Remove();
ODataJSON.Add("Terminal", ODataJSON["value"]); //adding Terminal attribute
ODataJSON.Property("value").Remove(); // removing default value attribute.

答案 2 :(得分:0)

假设您正在编写一个返回IHttpActionResult的新函数。要返回数据,可以使用Json方法。它删除了元数据

答案 3 :(得分:0)

您还可以设置 Accept 标题

Accept: application/json;odata.metadata=none