Я использую Json.Net для сериализации и десериализации классов для json и back.
Я добавил класс, помеченный [JsonObject(ItemRequired = Required.Always)]
(или Required.Always
) новым свойством get-only. Это приводит к следующему JsonSerializationException
:
Newtonsoft.Json.JsonSerializationException: Обязательное свойство
'<PropertyName>'
не найдено в JSON
Я думал, что это свойство с JsonIgnore
решит проблему, но это не сработает.
Как я могу сообщить Json.Net, что это свойство следует игнорировать?
Вот минимальный пример, воспроизводящий проблему:
[JsonObject(ItemRequired = Required.Always)]
public class Hamster
{
public string FirstName { get; set; }
public string LastName { get; set; }
[JsonIgnore]
public string FullName { get { return FirstName + LastName; }}
}
private static void Main()
{
var hamster = new Hamster {FirstName = "Bar", LastName = "Arnon"};
var serializeObject = JsonConvert.SerializeObject(hamster);
var deserializeObject = JsonConvert.DeserializeObject<Hamster>(serializeObject);
}