Serializacja – w programowaniu proces przekształcania obiektów, tj. instancji określonych klas, do postaci szeregowej, czyli w strumień bajtów lub postać tekstową (np. XML, JSON) z zachowaniem aktualnego stanu obiektu. Serializowany obiekt może zostać utrwalony w pliku dyskowym, przesłany do innego procesu lub innego komputera poprzez sieć. Procesem odwrotnym do serializacji jest deserializacja. Proces ten polega na odczytaniu wcześniej zapisanego strumienia danych i odtworzeniu na tej podstawie obiektu klasy wraz z jego stanem bezpośrednio sprzed serializacji.

Serializacja służy do zapisu stanu obiektu, a później do odtworzenia jego stanu. Mechanizm ten jest używany między innymi na platformach .NET, Java, PHP, Python, Ruby.

Implementacje serializacji Serializacja na platformie .NET Istnieją dwa sposoby serializacji: poprzez użycie atrybutu Serializable poprzez implementację interfejsu ISerializable

Poniżej znajduje się przykład klasy w języku Delphi dla .NET, której obiekty mogą być serializowane:

type [Serializable] // Obiekty tej klasy będą mogły być serializowane TSerializableClass = class FName: System.&String; FValue: System.Int32; [NonSerialized] // Nie serializuj poniższego pola FNonSerialized: System.Int16; end;