我有一個(gè)調(diào)用 REST-Api 的后端服務(wù)。然后該 API 的結(jié)果被反序列化到我的實(shí)體中:public class Item { [JsonProperty("pkID")] public int Id {get;set;}}JsonConvert.DeserializeObject<Item>(responseString);這很好用。但我還想以 JSON 字符串的形式返回結(jié)果,以便我可以從前端使用它?,F(xiàn)在使用序列化我的“Item”類型的對(duì)象時(shí),JsonConvert.SerializeObject(item)我想返回類似的內(nèi)容{ Id: 1 }相反,在序列化時(shí),它還使用 JsonProperty 并返回{ pkID: 1 }反而。如何告訴序列化器在序列化時(shí)忽略 JsonProperty,但在反序列化時(shí)使用它?我不是在尋找屬性是否應(yīng)該序列化的方法,而是在序列化時(shí)是否應(yīng)該使用 propertyName 或 JsonProperty 中的名稱。
2 回答

慕慕森
TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊
您可以使用指向“好”屬性的僅設(shè)置屬性。
public class Item
{
public int Id { get; set; }
[JsonProperty("pkID")]
public int BackwardCompatibleId { set => Id = value; }
}
// test
var x = new Item { Id = 88 };
var json = JsonConvert.SerializeObject(x); // {"Id":88}
var clone = JsonConvert.DeserializeObject<Item>("{\"pkId\":99}");
- 2 回答
- 0 關(guān)注
- 146 瀏覽
添加回答
舉報(bào)
0/150
提交
取消