我正在使用JsonConvert.DeserializeObject(json.ToString()); 反序列化JSON并在相关模型中填充我的字段。直到JSON中缺少数据为止,此方法都有效。基本上没有“ key:value”,而只有“ key:null”。
我对JsonConverter的理解是,它将创建一个对象,在该对象中,我应该能够通过构造函数(由于种种原因而不会被我调用)或通过此处提到的标记来使用默认值填充字段:JSON.net或此处缺少属性的默认值:为什么当我用JSON.NET反序列化时会忽略我的默认值?
我尝试了这两种方法,但都没有初始化相关字段的结果。当然,如果JSON中没有数据,则无法将任何数据反序列化到相关模型。但是我希望我仍然可以使用默认值来初始化一些值,然后这些值将被JsonConverter忽略(不会被覆盖)(就像现在发生的一样)。但是,这似乎不可能吗?
先前尝试的源代码
模型类
namespace Project.MyJob
{
public class JsonModel
{
public JsonModel()
{
Type_X type_x = new Type_X();
// This is not doing anything. I would have expected that the
// class' constructor would be called but, no.
}
public string objectNumber { get; set; }
public string objectFamily { get; set; }
public string objectOrder { get; set; }
public string location { get; set; }
public string place …Run Code Online (Sandbox Code Playgroud)