Site icon Ryadel

Classe C# per serializzare e deserializzare oggetti in XML e JSON in ASP.NET

Classe ASP.NET C# per il controllo e il calcolo formale del Codice Fiscale

A grande richiesta condivido un piccolo helper, realizzato ormai diversi anni orsono, che ancora utilizzo quando ho bisogno di effettuare operazioni di Serialize/Deserialize di oggetti POCO in C#: i formati supportati al momento sono XML e JSON, ovvero i più diffusi e utilizzati in ambito web, ma è possibile estenderla anche ad altri.

Come potrete vedere si tratta di una semplice classe statica che include una serie di "coppie di metodi" per la serializzazione e deserializzazione corrispondente: il primo elemento di ciascuna coppia - quello che si occupa della serializzazione di un oggetto T - è stato implementato in modo tale da poter essere utilizzato anche come  extension method, ovvero partendo direttamente dall'oggetto che si desidera serializzare. Può essere utilizzata all'interno di qualsiasi libreria di classi o anche direttamente inclusa in un progetto Web Forms, Windows Forms, MVC, WebAPI, .NET Core o di qualsiasi altro tipo.

Questo l'elenco dei metodi attualmente implementati:

  • SerializeObject / DeserializeObject
  • SerializeObjectUsingBinaryFormatter / DeserializeObjectUsingBinaryFormatter
  • SerializeToXML / DeserializeFromXML
  • SerializeToJson / DeserializeFromJson

Inutile dire che, affinché il Serialize funzioni correttamente, gli oggetti devono essere di tipo  [Serializable]  e contenere unicamente proprietà che siano "serializzabili" a loro volta.

Per il momento è tutto: buona (de)serializzazione!

 

Exit mobile version