У меня есть несколько классов, которые отображаются ниже структуры/иерархии.json deserialization GET, получает вызов до Set
public class CustomModel
{
public string Message { get; set; }
public int Code { get; set; }
public CustomData Info { get; set; }
}
public class CustomData
{
public CustomData (CustomObject customData)
{
CustomObjectProp = customData.customMessage
}
}
public class CustomObject
{
public string CustomObjectProp {get; set;}
}
При сериализации CustomModel я получаю строку JSON, как показано ниже
{
"Message ": "A message is set.",
"Code": 825,
"Info": "Some Info is set"
}
Однако при десериализации я получаю ошибку System.NullReferenceException
как конструктор CustomData
вызывается с CustomData быть нулевым.
Как я могу избежать «getter» для выполнения перед установщиком?
Вы используете [Json.net] (https://www.nuget.org/packages/newtonsoft.json) для десериализации json? –
@BrandonMinnick - да, я использую json.net – Noah
Я бы предложил добавить конструктор по умолчанию и настроить некоторые данные по умолчанию. Помимо этого вы могли бы задуматься о написании конвертера клиента для обработки параметризованного конструктора: http://stackoverflow.com/questions/8254503/how-to-pass-arguments-to-a-non-default-constructor/8312048#8312048 – gideon