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. C有没有像PHP ob_start的东西?
- 3. Haskell有没有像Incanter的东西?
- 4. 有没有像Codecademy for Java的东西
- 5. 有没有像Acegi for PHP的东西?
- 6. 有没有像WMI for Linux的东西?
- 7. SQLite有没有像insert_id的东西?
- 8. 有没有像DatastoreOutputWriter的东西?
- 9. 有没有像.gitonlytrackfiles的东西?
- 10. 有没有像RightMark for Linux的东西?
- 11. SASS里有没有像“+ =”的东西?
- 12. C有没有像IDLE(python)的东西?
- 13. 有没有像GraphEdit for MediaFoundation的东西?
- 14. 有没有像pmax索引的东西?
- 15. 有没有像网络TextMate的东西?
- 16. 有没有像NSBottomBar的东西?
- 17. Mercurial有没有像svnserve的东西?
- 18. ReWriteEngine做相反的东西
- 19. Perl的`study`有没有相当于Python的东西?
- 20. 有没有Perabyte这样的东西?
- 21. 有没有比libnotify更好的东西?
- 22. sed没有替换所有的东西
- 23. 有没有比reCaptcha更好的东西?
- 24. 有没有像redis中的get_next那样的东西?
- 25. 有没有像C#中的Bundle一样的东西?
- 26. 有没有像ISerializable这样的适用于XMLSerializer的东西?
- 27. 有没有像onrotate()或类似的功能在Android的东西?
- 28. 有没有像.NET中的东西的Java描述符?
- 29. 有没有像Lisp的SLIME for Python/Django的东西?
- 30. 真的iPhone设备上有没有像'getStreamsToHost'的东西?
或者,人们可以使用[数据契约属性](HTTP://www.newtonsoft。 com/json/help/html/DataContractAndDataMember.htm)具有相同的效果。 – dbc
@dbc我喜欢Json属性的替代品。我选择了Json属性,因为它们允许将来进一步轻松定制,并且他们也会采用相同的努力来应用。数据合同属性的优点是它们已经被大多数用户所熟悉。 – Aphelion