【发布时间】:2020-04-24 13:51:53
【问题描述】:
我正在尝试反序列化一个 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 设置为默认为0 时,null 是null。
我也尝试了以下方法,但它返回一个 null 对象(使用 decimal 或 decimal?)...
[System.ComponentModel.DefaultValue(0)]
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Populate)]
public decimal my_value { get; set; } = 0;
如果 JSON 包含属性的空字符串,我如何将其设置为默认值 0?
在任何人声明之前...是的,简单的答案是在 JSON 中没有空字符串属性,但我无能为力
【问题讨论】: