Skip to main content

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

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!

 

RELATED POSTS

Ryan

IT Project Manager, Web Interface Architect e Lead Developer di numerosi siti e servizi web ad alto traffico in Italia e in Europa. Dal 2010 si occupa anche della progettazione di App e giochi per dispositivi Android, iOS e Mobile Phone per conto di numerose società italiane.

Close
Leggi articolo precedente:
Come utilizzare DAO da Script VBA EXCEL quando MS Access non è installato o presente

Nonostante sia stato ufficialmente abolito già da diversi anni, l'interfaccia nota come Microsoft Jet Data Access Objects e meglio conosciuta come DAO...

Chiudi