填充"选项"
我有下一个JSON:
"mode":"modeValue",
"format":"formatValue",
"options":{
"page":1,
"size":"70",
"resize":"false",
"templating":null
}
但是"选项"值对象可能与当前不同,我可以有许多不同的选项。例如,它可以是
"options": {
"page": 2,
"first": "true",
"parent": null
}
我创建了一个类
public class Settings
{
[JsonProperty(PropertyName = "mode")]
public string Mode { get; set; }
[JsonProperty(PropertyName = "format")]
public string OutputFormat { get; set; }
[JsonProperty(PropertyName = "options")]
public string Options { get; set; }
}
我不想对"选项"值进行估算,而是将其设置为Options
属性中的字符串(序列化)。
注意:我将仅将此类用于避难所。
谢谢!
您可以使用OnDeserialized
属性来实现此目标。这是一个例子:
public class Settings
{
[JsonProperty(PropertyName = "mode")]
public string Mode { get; set; }
[JsonProperty(PropertyName = "format")]
public string OutputFormat { get; set; }
[JsonIgnoreAttribute]
public string Options { get; private set; }
[JsonProperty(PropertyName = "options")]
private object Temp { get; set; }
[OnDeserialized]
private void OnDeserialized(StreamingContext ctx)
{
Options = Temp?.ToString();
}
}
" options"被应列入" temp"属性,然后由 Temp.ToString()