根据属性值将JsonProperty转换为其他类型

时间:2019-07-17 14:36:39

标签: c# .net json

我在对象中定义了此JsonProperty以序列化为JSON:

[JsonProperty(PropertyName = "client_state")]
public Boolean IsRunning { get; set; }

我要实现的是转换JSON“ client_state”,以便当IsRunning属性为true时,JSON属性将是一个包含文本“ isrunning”的字符串,而当{{1 }}属性为假。 如何在JSON序列化期间定义此转换?

1 个答案:

答案 0 :(得分:0)

您可以添加一个中间属性来执行序列化,而忽略原始属性

[JsonProperty(PropertyName = "client_state")]
public string ClientState => IsRunning ? "isrunning" : "notrunning";

[JsonIgnore]
public Boolean IsRunning { get; set; }