ReferenceHandler.Preserve Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
JSON nesneleri ve dizileri başvuru türlerine seri durumdan çıkarıldığında meta veri özelliklerinin kabul edilip edilmediğini ve başvuru türleri seri hale getirildiğinde yazıldığını belirten bir nesnesi alır. Döngüler veya yinelenen başvurular içeren nesnelerden gidiş dönüşlü JSON oluşturmak için bu gereklidir.
public:
static property System::Text::Json::Serialization::ReferenceHandler ^ Preserve { System::Text::Json::Serialization::ReferenceHandler ^ get(); };
public static System.Text.Json.Serialization.ReferenceHandler Preserve { get; }
static member Preserve : System.Text.Json.Serialization.ReferenceHandler
Public Shared ReadOnly Property Preserve As ReferenceHandler
Özellik Değeri
Açıklamalar
Seri hale getirmede:
- Karmaşık başvuru türleri yazarken, seri hale getirici bunların içinde meta veri özellikleri (
$id,$valuesve$ref) de yazar. - Çıkış JSON'u her nesne için ek
$idbir özellik içerir ve her numaralandırılabilir tür için, yayılan JSON dizisi bir$idve$valuesözelliği içeren bir JSON nesnesi içinde iç içe yerleştirilmiş olur. - ReferenceEquals(Object, Object) nesnelerin özdeş olup olmadığını belirlemek için kullanılır.
- Bir nesne daha önce seri hale getirilmiş bir nesneyle aynı olduğunda, bunun yerine bu nesnenin tanımlayıcısına () yönelik bir işaretçi
$ref($id) yazılır. - Değer türleri için hiçbir meta veri özelliği yazılmamıştır.
- Karmaşık başvuru türleri yazarken, seri hale getirici bunların içinde meta veri özellikleri (
Seri Durumdan Çıkarılırken:
- Yinelenen başvuruları ve döngüleri korumak için kullanılan JSON içindeki meta veri özellikleri, iyi biçimlendirilmiş oldukları sürece kabul edilir.*
- Meta veri özellikleri içermeyen JSON nesneleri için seri durumdan çıkarma davranışı ile aynı kullanılır
Preserve. - Değer türleri
$idiçin meta veri özelliği yoksayılır. JsonException JSON nesnesi içinde bir$refmeta veri özelliği bulunursa bir oluşturulur. - Numaralandırılabilir değer türleri için
$valuesmeta veri özelliği yoksayılır.
JSON içindeki meta veri özelliklerinin iyi biçimlendirilmiş olarak kabul edilmesi için şu kurallara uymaları gerekir:
-
$idMeta veri özelliği, JSON nesnesindeki ilk özellik olmalıdır. - Meta veri özelliği içeren bir
$refJSON nesnesi başka bir özellik içermemelidir. - Meta veri özelliğinin
$refdeğeri, JSON'da daha önce görünen bir$idöğesine başvurmalıdır. - ve
$refmeta veri özelliklerinin değeri$idbir JSON dizesi olmalıdır. - gibi List<T>numaralandırılabilir türler için JSON dizisi, bir ve
$valuesmeta veri özelliği içeren bir$idJSON nesnesi içinde bu sırayla iç içe yerleştirilmelidir. - Numaralandırılabilir türler
$valuesiçin meta veri özelliği bir JSON dizisi olmalıdır. -
$valuesMeta veri özelliği yalnızca numaralandırılabilir türlere başvururken geçerlidir.
-
JSON iyi biçimlendirilmemişse, bir JsonException oluşturulur.