Tietokoneohjelmoinnissa sarjoittaminen on prosessi, jossa paikalliseen muistiin tallennettu tietorakenne otetaan ja muutetaan tavuvirraksi, joka voidaan lähettää verkon kautta tai tallentaa levylle, jotta se voidaan koota uudelleen ja käyttää toinen ohjelma. Sarjoittamista voidaan käyttää myös objektin tilan tallentamiseen, jotta sama ohjelma voi ladata sen myöhemmin uudelleen. Tämän toiminnon monimutkaisempi käyttö on kutsua etäproseduurikutsu (RPC) , joka suorittaa tehokkaasti menettelyn toisella tietokoneella verkon kautta.Tämä mekanismi mahdollistaa myös tietoobjektien jakamisen suurelle verkotetulle järjestelmälle.
Lähes kaikilla nykyaikaisilla tietokoneen kielillä on joko natiivituki sarjoittamiselle tai kirjasto, joka on saatavana tämän toiminnon lisäämiseksi. Kun objekti sarjoitetaan, objektin kaikki kentät litistetään. Tätä prosessia kutsutaan myös deflaatioksi Tiedot muutetaan yksiulotteiseksi tavuriviksi, joka voidaan kirjoittaa mihin tahansa lähtövirtaan. Lähtövirran tyypillä ei ole väliä ja se voi olla tiedosto tai verkkopistorasia.
Kun tiedot on sarjoitettu ja lähetetty lopulliseen paikkaansa, deserialisointiprosessi alkaa. Ohjelma, joka lukee tavuvirran, palauttaa kaikki tiedot ja sijoittaa ne alkuperäisen objektin uuteen esiintymään. On tärkeää ymmärtää, että vain tiedot, joita objekti hallussaan on, on järjestetty. objekti ja sen menetelmät ja muut toteutustiedot eivät ole, mikä tarkoittaa, että tietoja deserialisoivan ohjelman on kyettävä luomaan alun perin sarjattu luokan esiintymä.
Tietorakenteiden sarjoittamista voidaan käyttää moniin eri tarkoituksiin. Objektitiedot voidaan tallentaa fyysiselle tietovälineelle, jotta jokaisen objektin tarkka tila voidaan palauttaa siihen kohtaan, jossa se oli ohjelman suorittamisen pysähtyessä. Sitä voidaan käyttää lähettää viestejä toiseen tietokoneeseen, jolloin etäproseduuri suoritetaan.
Ennen objektien sarjoittamisen käyttöä on tärkeää ymmärtää joitakin sen asettamia rajoituksia. Tärkeintä on, että objektin muuntaminen tavuvirtaksi yksityisiksi ilmoitetut kentät paljastetaan . Virran lähetyksen aikana nämä tiedot voidaan kaapata ja purkaa, ja niissä on suoja -aukko. Useimmat kielet mahdollistavat tietojen sarjamuotojen ulkoistamisen, joten oma koodaus on mahdollista auttaa vähentämään tätä riskiä.
Toinen tekijä, joka on pidettävä mielessä, on se, että sarjoittaminen toimii yleensä vain sellaisten objektien kanssa, jotka ovat täsmälleen samat kuin sarjattu objekti. Jos objektiin lisätään uusia kenttiä tai menetelmiä , sitten objektin allekirjoitus muuttuu. Tämä tarkoittaa, että tallennettu objekti aiheuttaa poikkeuksen ja tiedot muuttuvat palautumattomiksi, kunnes alkuperäisen muokkaamattoman objektin esiintymä yrittää palauttaa sen.