【问题标题】:how to set property name of a field for serialization only如何设置字段的属性名称仅用于序列化
【发布时间】:2022-11-02 21:52:50
【问题描述】:
有这样的传入响应;
{
"response_code":23
}
读取数据没有问题,
我可以用这个对象读取这个值;
public class APIResponse
{
[JsonProperty("response_code")]
public HttpStatusCode ResponseCode { get; set; }
}
但是当我需要将此对象作为 JSON 返回给客户端时,它应该如下所示;
{
"responseCode":23
}
所以基本上我只想更改序列化的属性名称,我该怎么做?
【问题讨论】:
标签:
asp.net-web-api
serialization
【解决方案1】:
更改[JsonProperty("response_code")]
到[JsonProperty("responseCode")] 班级APIResponse
序列化和反序列化可能是两个不同的类!
public class APIReadResponse
{
[JsonProperty("response_code")]
public HttpStatusCode ResponseCode { get; set; }
}
和
public class APIReturnResponse
{
[JsonProperty("responseCode")]
public HttpStatusCode ResponseCode { get; set; }
}