Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
System.Text.Json ad alanı, JavaScript Nesne Gösterimi (JSON) ile serileştirme ve seri durumdan çıkarma (veya paketleme ve paket açma) işlevleri sağlar. Serileştirme , bir nesnenin durumunu, yani özelliklerinin değerlerini depolanabilen veya iletilebilen bir forma dönüştürme işlemidir. Serileştirilmiş form, bir nesnenin ilişkili yöntemleri hakkında herhangi bir bilgi içermez. Seri durumdan çıkarma , bir nesneyi serileştirilmiş biçimden yeniden oluşturur.
Kitaplık tasarımı, System.Text.Json kapsamlı bir özellik kümesi üzerinde yüksek performansı ve düşük bellek ayırmayı vurgular. Yerleşik UTF-8 desteği, web'deki veriler ve diskteki dosyalar için en yaygın kodlama olan UTF-8 olarak kodlanmış JSON metnini okuma ve yazma sürecini iyileştirir.
Kitaplık ayrıca bellek içi belge nesne modeli (DOM) ile çalışmaya yönelik sınıflar sağlar. Bu özellik, bir JSON dosyası veya dizesindeki öğelere rastgele erişim sağlar.
Visual Basic için, kitaplığın hangi bölümlerini kullanabileceğiniz konusunda bazı sınırlamalar vardır. Daha fazla bilgi için bkz . Visual Basic desteği.
Kütüphaneye nasıl ulaşılır?
Kitaplık, .NET Core 3.0 ve sonraki sürümleri için paylaşılan çerçevenin bir parçası olarak yerleşiktir. Kaynak oluşturma özelliği, .NET 6 ve sonraki sürümleri için paylaşılan çerçevenin bir parçası olarak yerleşiktir.
.NET Core 3.0'dan önceki çerçeve sürümleri için NuGet paketini yükleyin System.Text.Json . Paket aşağıdakileri destekler:
- .NET Standard 2.0 ve üzeri
- .NET Framework 4.6.2 ve üzeri
- .NET 8 ve üzeri
Ad alanları ve API'ler
- Ad System.Text.Json alanı tüm giriş noktalarını ve ana türleri içerir.
- Ad alanı System.Text.Json.Serialization, serileştirme ve seri durumdan çıkarma ile ilgili gelişmiş senaryolara ve özelleştirmelere yönelik öznitelikler ve API'ler içerir.
- System.Net.Http.Json ad alanı, JSON yüklerini ağ üzerinden serileştirme ve ters serileştirmeiçin uzantı yöntemlerini içerir.
Önemli
System.Text.Json daha önce kullanmış olabileceğiniz aşağıdaki serileştirme API'lerini desteklemez:
- System.Runtime.Serialization ad alanındaki öznitelikler.
- System.SerializableAttribute özniteliği ve ISerializable arabirimi. Bu türler yalnızca İkili ve XML serileştirme için kullanılır.
Yansıma ve kaynak oluşturma karşılaştırması
Varsayılan olarak, System.Text.Jsonçalışma zamanındayansıtma kullanarak serileştirme ve seri durumdan çıkarma için nesnelerin özelliklerine erişmek için ihtiyaç duyduğu meta verileri toplar. Alternatif olarak, performansı geliştirmek, System.Text.Json özel bellek kullanımını azaltmak ve uygulama boyutunu azaltan derleme kırpmayı kolaylaştırmak için C# kaynak oluşturma özelliğini kullanabilir.
Daha fazla bilgi için bkz . Yansıma ve kaynak oluşturma.
Güvenlik bilgileri
tasarlarken JsonSerializerdikkate alınan güvenlik tehditleri ve bunların nasıl hafifletilebileceği hakkında bilgi için bkz System.Text.Json . Tehdit Modeli.
İş parçacığı güvenliği
System.Text.Json serileştirici, çalışma alanı güvenliği göz önünde bulundurularak tasarlanmıştır. Pratikte bu, JsonSerializerOptions kilitlendikten sonra, örneklerin birden fazla iş parçacığı arasında güvenli bir şekilde paylaşılabileceği anlamına gelir.
JsonDocument JSON değerleri için değiştirilemez ve .NET 8 ve sonraki sürümlerde iş parçacığı güvenli bir DOM gösterimi sağlar.