有没有办法在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)
{
....
}
谢谢!
答案 0 :(得分:2)
使用JsonProperty属性。
public class Customer
{
public int Id { get; set; }
public string Name { get; set; }
[JsonProperty(PropertyName = "$BagData")]
public BagData BagData { get; set; }
}