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

Tim*_*hko 4 odata asp.net-web-api

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

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

  ]
}
Run Code Online (Sandbox Code Playgroud)

并只留下“终端”数组

有没有办法做到这一点?

小智 5

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

$format=application/json;odata.metadata=none
Run Code Online (Sandbox Code Playgroud)

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


din*_*din 1

这就是它可以实现的方式。

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.
Run Code Online (Sandbox Code Playgroud)

  • 我需要将其从服务器端的响应中删除,而不是在客户端 (2认同)