Web Api返回JSON并放置一个' $'符号作为某些属性的前缀?

时间:2014-04-30 23:54:48

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

有没有办法在WebApi返回的对象的某些属性之前放置'$'?

到目前为止,我有一节课:

public class Customer 
{
  public int Id { get; set; }
  public string Name { get; set; }
  public BagData BagData { get; set; }
}

我想从我的webapi控制器返回此类的实例作为JSON(请参阅BagData属性之前的'$'):

{ Id:1, Name:"Alexandre Trindade", $BagData:"foo" }

BagData只是我想在javascript中使用的一种“私有财产”。但我不知道我的webapi方法如何在BagData属性之前放置$。

我知道我可以从我的webapi返回一个字符串并使用JsonConvert将我的实例渲染为json并在该属性中添加'$'符号后。但我不喜欢这个,我希望我的控制器返回一个对象:

[HttpGet]
public Customer GetCustomer(int id)
{
    ....
}

谢谢!

1 个答案:

答案 0 :(得分:2)

使用JsonProperty属性。

public class Customer
{
    public int Id { get; set; }
    public string Name { get; set; }
    [JsonProperty(PropertyName = "$BagData")]
    public BagData BagData { get; set; }
}