我應該如何標記屬性,他們不應該序列化,如果他們有默認值?例如,如果我有布爾值,它應該被序列化,如果只設置爲true,與可爲空值相同,如果它們爲空,我不想將它們包含在我的序列化文件中。如何避免序列化默認值?
回答
好吧,我自己找到了。它是[DefaultValue(false)]
。如果我用這個屬性標記一些屬性,那麼只有當它和()中的值不同時纔會被序列化。
感謝您的解決方案!任何想法如何避免,我必須把默認值兩次? '[DefaultValue(「Status」)] public string statusTag =「Status」;' – pfuhlert 2017-10-25 13:39:36
有指定的屬性這樣的東西。我找不到msdn文檔,但this article應該會有所幫助。 基本上你必須這樣寫:
//this property would not be serialized if it contains String.Empty value
public string PropertyName { get; set; }
[XmlIgnore]
public bool PropertyNameSpecified
{
get { return PropertyName != String.Empty; }
}
get {return PropertyName!= String.Empty; } 那是什麼?你將bool與字符串進行比較,當我添加xmlIgnore時,它永遠不會出現在序列化文件中,即使這個屬性不爲空或者在bool的情況下爲true。 – kosnkov 2012-02-24 12:34:28
我編輯了我的答案。希望這給你正確的理解那裏發生的事情。 – 2012-02-24 13:18:03
- 1. DateTimePicker默認值:如何避免它?
- 2. as.numeric如何避免默認排序
- 3. 如何不能序列化默認值
- 4. 如何避免默認的CallOutView出現?
- 5. 如何避免預防默認
- 6. 如何避免laravel默認分頁
- 7. 如何避免默認Android瀏覽器
- 8. 想要避免默認零值
- 9. XML:爲避免XS /默認值:擴展
- 10. JAXB避免保存默認值
- 11. 避免屬性序列化
- 12. 如何避免struts2中textfield的默認值([email protected])
- 13. 我如何避免「警告:Field'xxx'在Storm中沒有默認值」?
- 14. 如何避免使用Simple Xml序列化零值
- 15. 如何避免HashMap中的空值序列化?
- 16. 如何序列化非空值並避免空格(+符號)?
- 17. Protobuf不會序列化默認值
- 18. C#XML反序列化W /默認值
- 19. Xml反序列化和默認值
- 20. Wcf序列化排除默認值
- 21. 序列化發射默認值
- 22. 如何避免空格式化值
- 23. 如何避免未初始化的值?
- 24. XmlSerializer - 如何在反序列化枚舉時設置默認值?
- 25. 避免安卓相機保存默認
- 26. 從IDL生成java(避免默認包)
- 27. 避免默認的構造函數
- 28. Maven-2:避免默認打包?
- 29. 避免SharePoint默認錯誤屏幕
- 30. 序列化爲Json時避免ConcurrentModificationException?
這是什麼目的! – 2012-02-24 11:04:57
有較小的序列化文件因爲我需要發送它有時thrue gprs網絡我需要爲交通支付,無論如何在恢復(反序列化)期間,如果它們不存在,它們將被設置爲默認值,所以如何避免序列化它們? – kosnkov 2012-02-24 11:07:06
我認爲你要麼編寫自己的序列化程序,要麼用自己的規則後處理內置序列化程序的結果。 – 2012-02-24 11:08:39