Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A System.Text.Json névtér olyan funkciókat biztosít, amelyek lehetővé teszik a JavaScript Object Notation (JSON) szerializálását és deszerializálását, vagy más szóval a rendezési és leválasztási folyamatokat. A szerializálás egy objektum állapotának, vagyis tulajdonságainak egy tárolható vagy továbbítható formájává alakításának folyamata. A szerializált űrlap nem tartalmaz semmilyen információt az objektum társított metódusairól. A deszerializálás rekonstruál egy objektumot a szerializált űrlapból.
A System.Text.Json kódtár kialakítása nagy teljesítményt és alacsony memóriakiosztást hangsúlyoz egy átfogó funkciókészleten keresztül. A beépített UTF-8-támogatás optimalizálja az UTF-8-ként kódolt JSON-szövegek olvasásának és írásának folyamatát, amely a webes adatok és a lemezen lévő fájlok leggyakoribb kódolása.
A tár osztályokat is biztosít a memóriabeli dokumentumobjektum-modell (DOM) használatához. Ez a funkció véletlenszerű hozzáférést tesz lehetővé egy JSON-fájl vagy sztring elemeihez.
A Visual Basic esetében bizonyos korlátozások vonatkoznak a tár használható részeire. További információ: Visual Basic-támogatás.
A kódtár lekérése
A kódtár a .NET Core 3.0-s és újabb verzióihoz készült megosztott keretrendszer részeként beépített. A forrásgenerálási funkció a .NET 6-os és újabb verziók megosztott keretrendszerének részeként beépített.
A .NET Core 3.0-nál korábbi keretrendszerverziók esetén telepítse a System.Text.Json NuGet-csomagot. A csomag a következőket támogatja:
- .NET Standard 2.0 és újabb verziók
- .NET-keretrendszer 4.6.2 és újabb verziók
- .NET 8 és újabb verziók
Névterek és API-k
- A System.Text.Json névtér tartalmazza az összes belépési pontot és a fő típusokat.
- A System.Text.Json.Serialization névtér attribútumokat és API-kat tartalmaz a speciális forgatókönyvekhez és a szerializáláshoz és deszerializáláshoz kapcsolódó testreszabáshoz.
- A System.Net.Http.Json névtér az hálózatiJSON-hasznos adatainak szerializálására és deszerializálására szolgáló kiterjesztési metódusokat tartalmaz.
Fontos
System.Text.Json nem támogatja a korábban esetleg használt szerializálási API-kat:
- Attribútumok a System.Runtime.Serialization névtérből.
- Az System.SerializableAttribute attribútum és az ISerializable interfész. Ezek a típusok csak bináris és XML-szerializáláshoz használhatók.
Tükröződés és forrásgenerálás
Alapértelmezés szerint összegyűjti azokat a metaadatokat, System.Text.Json amelyekre szüksége van az objektumok tulajdonságainak eléréséhez a szerializáláshoz és a deszerializáláshoz futásidőbena tükröződés használatával. Alternatív megoldásként System.Text.Json használhatja a C#-forrásgenerálási funkciót a teljesítmény javítására, a magánmemória-használat csökkentésére és az szerelvény vágásának megkönnyítésére, ami csökkenti az alkalmazás méretét.
További információ: Reflexió és forrásgenerálás.
Biztonsági információk
A tervezés JsonSerializersorán figyelembe vett biztonsági fenyegetésekről és azok elhárításának módjáról a fenyegetésmodellbenSystem.Text.Json.
Menetbiztonság
A System.Text.Json szerializálót a szálbiztonság szem előtt tartásával tervezték. Ez gyakorlatilag azt jelenti, JsonSerializerOptions hogy a zárolt példányok biztonságosan megoszthatók több szál között.
JsonDocument nem módosítható, a .NET 8 és újabb verzióiban pedig szálbiztos, DOM-reprezentációt biztosít a JSON-értékekhez.