JsonIgnore
屬性可用於忽略序列化中的某些屬性。我想知道是否有可能做相反的事情?那麼當有一個特殊的屬性時,JsonSerializer會忽略每個屬性EXCEPT?有沒有像JsonIgnore的相反的東西?
2
A
回答
4
是的。當您用[JsonObjectAttribute]
標記您的班級並通過MemberSerialization.OptIn
參數時,成員serialization is opt-in。然後用[JsonProperty]
標記您的成員以將其包括在序列化中。
[JsonObject(MemberSerialization.OptIn)]
public class Person
{
[JsonProperty]
public string Name { get; set; }
// not serialized because mode is opt-in
public string Department { get; set; }
}
1
到MemberSerialization.OptIn
一個替代方案是使用DataContract
/DataMember
屬性:
[DataContract]
public class Computer
{
// included in JSON
[DataMember]
public string Name { get; set; }
[DataMember]
public decimal SalePrice { get; set; }
// ignored
public string Manufacture { get; set; }
public int StockCount { get; set; }
public decimal WholeSalePrice { get; set; }
public DateTime NextShipmentDate { get; set; }
}
相關問題
- 1. 有沒有像''的東西?
- 2. 有沒有像BindingSource的foreach的東西?
- 3. 有沒有像PHP的jLinq的東西?
- 4. 有沒有像CSS的jsmin的東西?
- 5. 有沒有像DatastoreOutputWriter的東西?
- 6. D3D12有沒有像vkCmdBlitImage的東西?
- 7. Haskell有沒有像Incanter的東西?
- 8. SASS裏有沒有像「+ =」的東西?
- 9. 有沒有像RightMark for Linux的東西?
- 10. 有沒有像Codecademy for Java的東西
- 11. SQLite有沒有像insert_id的東西?
- 12. 有沒有像NSBottomBar的東西?
- 13. 有沒有像GraphEdit for MediaFoundation的東西?
- 14. C有沒有像IDLE(python)的東西?
- 15. 有沒有像網絡TextMate的東西?
- 16. 有沒有像WMI for Linux的東西?
- 17. 有沒有像.gitonlytrackfiles的東西?
- 18. 有沒有像jQuery.active angularjs中的東西?
- 19. 有沒有像svn_load_dirs.pl git的東西?
- 20. 有沒有像pmax索引的東西?
- 21. 有沒有像CoffeeScript for PHP的東西?
- 22. 有沒有像Acegi for PHP的東西?
- 23. Julia有沒有像SharedDict的東西?
- 24. Mercurial有沒有像svnserve的東西?
- 25. C有沒有像PHP ob_start的東西?
- 26. 有沒有像Python導出的東西?
- 27. 有沒有什麼東西與可可類別相反?
- 28. ReWriteEngine做相反的東西
- 29. 是否有與LINQ的所有方法相反的東西?
- 30. 有沒有相當於AjaxMinTask的命令行參數的東西?
或者,人們可以使用[數據契約屬性](HTTP://www.newtonsoft。 com/json/help/html/DataContractAndDataMember.htm)具有相同的效果。 – dbc
@dbc我喜歡Json屬性的替代品。我選擇了Json屬性,因爲它們允許將來進一步輕鬆定製,並且他們也會採用相同的努力來應用。數據合同屬性的優點是它們已經被大多數用戶所熟悉。 – Aphelion