Sto deserializzando un oggetto utilizzando Json.NET
che contiene un campo privato di tipo Guid e una proprietà pubblica per quel campo. Quando il valore per il mio Guid
è nullo nel mio json voglio assegnare Guid.Empty
al mio campo.deserializzazione di Json.net null guid case
public class MyClass
{
private Guid property;
public Guid Property
{
get { return property; }
set
{
if (value == null)
{
property = Guid.Empty;
}
else
{
property = value;
}
}
}
}
Ma la deserializer
vuole accedere al campo privato, perché ottengo questo errore quando provo a deserializzare:
Errore che converte il valore {null} digitare 'System.Guid'. Percorso '[0] .property', linea 6, la posizione 26.
Come posso rendere più ignorare il campo privato e utilizzare la proprietà pubblica, invece?
Grazie ! Una domanda sul convertitore da null a predefinito. Devo aggiungere manualmente l'attributo JsonConverter a ogni campo/proprietà nella mia classe o posso in qualche modo aggiungerlo per tutte le proprietà della classe? – Adrian
È possibile aggiungerlo a ciascuna proprietà o registrarlo per l'utilizzo a livello globale in tutte le classi. Vedi [Registrare un JsonConverter personalizzato in Json.Net] (http://stackoverflow.com/questions/19510532/registering-a-custom-jsonconverter-in-json-net). – dbc