Megosztás a következőn keresztül:


Szerializálás a .NET-ben

A szerializálás az objektum állapotának olyan formába alakításának folyamata, amely tárolható vagy átvihető. A szerializálás kiegészítése a deszerializálás, amely objektummá alakítja a streamet. Ezek a folyamatok együttesen lehetővé teszik az adatok tárolását és átvitelét.

A .NET a következő szerializálási technológiákat tartalmazza:

  • A JSON-szerializáció a .NET-objektumokat a JavaScript Object Notation (JSON) felé és onnan leképzi. A JSON egy nyílt szabvány, amelyet gyakran használnak adatok webes megosztására. A JSON szerializáló alapértelmezés szerint szerializálja a nyilvános tulajdonságokat, és konfigurálható magán- és belső tagok szerializálására is.

  • Az XML- és SOAP-szerializálás csak public tulajdonságokat és mezőket szerializál, és nem őrzi meg a típushűséget. Ez akkor hasznos, ha az adatokat használó alkalmazás korlátozása nélkül szeretne adatokat megadni vagy felhasználni. Mivel az XML egy nyílt szabvány, vonzó választás az adatok webes megosztásához. A SOAP ugyanígy nyílt szabvány, ami vonzó választássá teszi.

  • A bináris szerializálás megőrzi a típushűséget, ami azt jelenti, hogy a rendszer rögzíti az objektum teljes állapotát, és a deszerializáláskor létrejön egy pontos másolat. Ez a szerializálási típus hasznos egy objektum állapotának megőrzéséhez egy alkalmazás különböző meghívásai között. Például megoszthatja az objektumokat különböző alkalmazások között úgy, hogy szerializálja azt a vágólapra. Az objektumokat szerializálhatja streamre, lemezre, memóriára, hálózaton keresztül stb. A távoli elérés szerializálással továbbítja az objektumokat "érték szerint" az egyik számítógépről vagy alkalmazási tartományból egy másikra.

    Figyelmeztetés

    A bináris szerializálás BinaryFormatter veszélyes lehet. További információt a BinaryFormatter biztonsági útmutatójában és a BinaryFormatter migrálási útmutatójában talál.

Referenciák

System.Text.Json
Olyan osztályokat tartalmaz, amelyek az objektumok JSON formátumú dokumentumokká vagy streamekké való szerializálására használhatók.

System.Runtime.Serialization
Az objektumok szerializálásához és deszerializálásához használható osztályokat tartalmaz.

System.Xml.Serialization
Olyan osztályokat tartalmaz, amelyek az objektumok XML formátumú dokumentumokká vagy streamekké való szerializálására használhatók.