ReferenceHandler.Preserve Özellik

Tanım

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 $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.
  • 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.

Şunlara uygulanır