首頁 >後端開發 >C++ >如何使用 Json.Net 反序列化介面實例集合?

如何使用 Json.Net 反序列化介面實例集合?

Linda Hamilton
Linda Hamilton原創
2025-01-06 05:59:48356瀏覽

How Can I Deserialize Collections of Interface Instances Using Json.Net?

反序列化介面實例集合

將資料儲存為介面實例是很常見的,例如範例中的 ClassToSerializeViaJson。但是,反序列化此類集合可能會導致問題中提到的錯誤。

解決方案:

要解決此問題,Json.Net 需要額外配置才能啟用反序列化介面的

  1. 序列化:

    • 將TypeNameHandling 設定為 Objects 以在 JSON 負載中包含類型名稱。
    • 使用FormatterAssemblyStyle.Simple簡化類型名稱
string serializedJson = JsonConvert.SerializeObject(objectToSerialize, Formatting.Indented, new JsonSerializerSettings
{
    TypeNameHandling = TypeNameHandling.Objects,
    TypeNameAssemblyFormat = System.Runtime.Serialization.Formatters.FormatterAssemblyStyle.Simple
});
  1. 反序列化:

    將TypeNameHandling設定為Objects 以啟用類型期間的識別
透過實現這些設置,Json.Net 可以正確地反序列化介面實例集合,從而恢復原始資料結構。
var deserializedObject = JsonConvert.DeserializeObject<ClassToSerializeViaJson>(serializedJson, new JsonSerializerSettings
{
    TypeNameHandling = TypeNameHandling.Objects
});

以上是如何使用 Json.Net 反序列化介面實例集合?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn