Json.Net - Deserializzare JSON con un AnonymousType

by Andrea Dottor 17 July 2012 22:42

Solitamente ci si trova a deserializzare JSON basandosi su classi precedentemente create. Spesso queste classi hanno quest'unico scopo, quello di mappare i dati che arrivano in formato JSON. Ed ecco che oggetto dopo oggetto, ci troviamo con molte di queste classi, che vengono utilizzate in un'unico punto.

Esporando la classe Newtonsoft.Json.JsonConvert della libreria Json.Net ho notato un metodo DeserializeAnonymousType, ed ho subito indagato sul come funzionasse, e se potesse fare al caso mio.
Questo metodo si occupa di deserializzare una stringa JSON utilizzando un AnonymousType come tipo...ed ecco che mi si è accesa la lampadina.
Open-mouthed smile

Ecco come poterlo utilizzare:

var dummy = new
{
  Description = "",
  Code = "",
  Data = "",
  CategoryID = -1,
};

var product = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(objToSave, dummy);

product sarà del tipo specificato nell'oggetto dummy creato come AnonymousType, ed avrà quindi le proprietà Description, Code, Data e Category esattamente come specificato nella dichiarazione.
Questo permette quindi di evitare la scrittura di classi utili alla sola deserializzazione degli oggetti JSON.

Tags: ,

.NET | ASP .NET

Comments are closed