ASP.NET在响应中省略了特定变量?

时间:2014-07-24 09:20:24

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

在ApiController子类中,

[HttpGet]
public HttpResponseMessage api()
{
 //somecode 
 Res res = new Res();
 return Request.CreateResponse(200, res);

}

和Res class,

public class Res{
Public Meta meta{get;set;}
Public Data data{get;set;}
}

如果有一些http状态代码,例如401,500,我想省略数据变量。

200 ok

{ meta:{...}, data:{...}}

500内部服务器错误     {meta:{...}}

如何省略数据变量?删除类中的变量? 使用ExpandoObject()?

1 个答案:

答案 0 :(得分:1)

您可以使用:

public class Res{

    Public Meta meta{get;set;}

    [JsonIgnore]
    Public Data data{get;set;}
}

或者,装饰你想要的......

[DataContract]
public class Res{

    [DataMember]  
    Public Meta meta{get;set;}

    Public Data data{get;set;}
}