Я пытаюсь десериализовать строку JSON, которая содержит пустое строковое значение для одного свойства ... это свойство должно быть проанализировано в decimal
свойстве класса ...
public class myClass {
public decimal my_value { get; set; } = 0;
}
var json = "{ \"my_value\": \"\" }";
var data = JsonConvert.DeserializeObject<myClass>(json);
Проблема в том, что данные возвращаются как null
объект.
Я попытался установить для свойства значение decimal?
, и это действительно возвращает объект, но my_value
- это null
когда мне нужно по умолчанию 0
.
Я также попробовал следующее, но он возвращает объект null
(используя decimal
или decimal?
) ...
[System.ComponentModel.DefaultValue(0)]
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Populate)]
public decimal my_value { get; set; } = 0;
Как мне установить для этого значения по умолчанию значение 0
, если JSON содержит пустую строку для свойства?
Прежде чем кто-либо это заявит ... да, простой ответ - не иметь свойства пустой строки в JSON, но я ничего не могу с этим поделать