使用 Json.Net 控制 JSON 序列化
在物件導向程式設計中使用資料傳輸物件 (DTO) 時,選擇性地從 JSON 序列化中排除屬性對於資料安全和高效的 JSON 有效負載至關重要。 Json.Net 提供了靈活的方法來實現這一點。
常見的方法是使用 [JsonIgnore]
屬性。 此屬性應用於公共屬性,可防止在序列化期間包含該屬性,同時保持其在程式碼中的可存取性。
使用 [JsonIgnore]
的範例:
<code class="language-csharp">public class MyClass { public string Property1 { get; set; } [JsonIgnore] public string Property2 { get; set; } }</code>
Property2
將從序列化的 JSON 中省略。
另一種方法涉及利用 DataContract
中的 DataMember
和 System.Runtime.Serialization
屬性。 只有標示 [DataMember]
的屬性才會被序列化。
使用 DataContract
和 DataMember
的範例:
<code class="language-csharp">[DataContract] public class MyClass2 { [DataMember] public string Property1 { get; set; } public string Property2 { get; set; } }</code>
此處,Property2
被排除,因為它缺少 [DataMember]
屬性。
有關全面的詳細資訊和進階場景,請參閱此有用資源:https://www.php.cn/link/d203bbe1b9e242a034b376bafda15a99
以上是如何使用 Json.Net 從 JSON 序列化中排除屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!