Sto utilizzando Json.Net per serializzare e deserializzare le classi su json e viceversa.Ignora una proprietà durante la deserializzazione utilizzando Json.Net con ItemRequired = Richiesto. Sempre
Ho aggiunto a una classe contrassegnata con [JsonObject(ItemRequired = Required.Always)]
(o Required.Always
) una nuova proprietà get-only. Che si traduce in seguente JsonSerializationException
:
Newtonsoft.Json.JsonSerializationException: proprietà Required
'<PropertyName>'
non trovato in JSON
ho pensato che la proprietà di marcatura con JsonIgnore
avrebbe risolto il problema, ma questo non funziona .
Come posso comunicare a Json.Net che questa proprietà deve essere ignorata?
Ecco un esempio minimo che riproduce il problema:
[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);
}