#c# #json
Вопрос:
как следует из названия, у меня есть многоуровневый файл json с множеством свойств. Мне нужно опустить свойство JsonProperty «понижение», если свойство JsonProperty»использование-переход» является ложным.
Я попытался json игнорировать обработку nullvaluehandling, но значение 0.0 не является нулевым значением, так что это не сработает. интересно, следует ли мне использовать значение по умолчанию Json и установить его равным нулю
вот немного кода для тех, кто предпочел бы его увидеть. последние 2 реквизита-это то, о чем я говорю.
КЛАСС JSON
public partial class Preset { [JsonProperty("description")] public string Description { get; set; } [JsonProperty("f_n")] public double? FN { get; set; } [JsonProperty("f_z")] public double? FZ { get; set; } [JsonProperty("guid")] public Guid Guid { get; set; } [JsonProperty("n")] public double N { get; set; } [JsonProperty("n_ramp")] public double? NRamp { get; set; } [JsonProperty("name")] public string Name { get; set; } [JsonProperty("tool-coolant")] public string ToolCoolant { get; set; } [JsonProperty("use-stepdown")] public bool UseStepdown { get; set; } [JsonProperty("use-stepover")] public bool UseStepover { get; set; } [JsonProperty("v_c")] public double VC { get; set; } [JsonProperty("v_f")] public double? VF { get; set; } [JsonProperty("v_f_leadIn")] public double? VFLeadIn { get; set; } [JsonProperty("v_f_leadOut")] public double VFLeadOut { get; set; } [JsonProperty("v_f_plunge")] public double VFPlunge { get; set; } [JsonProperty("v_f_ramp")] public double VFRamp { get; set; } [JsonProperty("v_f_retract")] public double VFRetract { get; set; } [JsonProperty("stepdown", NullValueHandling = NullValueHandling.Ignore)] public double Stepdown { get; set; } [JsonProperty("stepover", NullValueHandling = NullValueHandling.Ignore)] public double Stepover { get; set; } }
Ответ №1:
Оказывается, быстрый взгляд на stackoverflow-это был очень простой ответ.
поменял двойной на двойной? позволяя значению быть нулевым.
[JsonProperty("stepdown", NullValueHandling = NullValueHandling.Ignore)] public double Stepdown { get; set; } [JsonProperty("stepover", NullValueHandling = NullValueHandling.Ignore)] public double Stepover { get; set; }
Для
[JsonProperty("stepdown", NullValueHandling = NullValueHandling.Ignore)] public double? Stepdown { get; set; } [JsonProperty("stepover", NullValueHandling = NullValueHandling.Ignore)] public double? Stepover { get; set; }