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
,$values
ve$ref
) de yazar. - Çıkış JSON'u her nesne için ek
$id
bir özellik içerir ve her numaralandırılabilir tür için, yayılan JSON dizisi bir$id
ve$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
$id
için meta veri özelliği yoksayılır. JsonException JSON nesnesi içinde bir$ref
meta veri özelliği bulunursa bir oluşturulur. - Numaralandırılabilir değer türleri için
$values
meta veri özelliği yoksayılır.
JSON içindeki meta veri özelliklerinin iyi biçimlendirilmiş olarak kabul edilmesi için şu kurallara uymaları gerekir:
-
$id
Meta veri özelliği, JSON nesnesindeki ilk özellik olmalıdır. - Meta veri özelliği içeren bir
$ref
JSON nesnesi başka bir özellik içermemelidir. - Meta veri özelliğinin
$ref
değeri, JSON'da daha önce görünen bir$id
öğesine başvurmalıdır. - ve
$ref
meta veri özelliklerinin değeri$id
bir JSON dizesi olmalıdır. - gibi List<T>numaralandırılabilir türler için JSON dizisi, bir ve
$values
meta veri özelliği içeren bir$id
JSON nesnesi içinde bu sırayla iç içe yerleştirilmelidir. - Numaralandırılabilir türler
$values
için meta veri özelliği bir JSON dizisi olmalıdır. -
$values
Meta veri özelliği yalnızca numaralandırılabilir türlere başvururken geçerlidir.
-
JSON iyi biçimlendirilmemişse, bir JsonException oluşturulur.