【问题标题】:JSON.Net ignoring class with only null propertiesJSON.Net忽略只有空属性的类
【发布时间】:2011-11-06 15:27:03
【问题描述】:

跟进我的最后一个问题 (http://stackoverflow.com/questions/8027748/render-c-sharp-class-as-javascript/8027824#8027824),我现在使用 JSON.net 转换一些类到 JSON。效果很好,但我有一些包含其他类作为成员的类。例如:

public class Parent
{
   public Child Child { get; set; }
   public string Var { get; set; }
}

当我使用 json.net 渲染它时,我可以将序列化程序设置为忽略空值。这意味着 Var 成员在未设置时不会被打印。基于它的价值观,我希望 Child 成员具有相同的行为。因此,当 Child 的所有成员都为 null 时,整个类呈现为“{}”,并且应该在父对象中全部忽略。

这可能吗?

【问题讨论】:

    标签: c# .net json.net


    【解决方案1】:

    我自己没有使用过 JSON.Net,所以我不知道这是否是这样做的方式。

    但我可能建议的是,如果您能够为 Child 实例插入自己的 JsonConverter:您可以使用反射来确定所有字段是否为空(或者如果没有太多,只需手动测试)。如果是,则生成{},如果不是,则委托给其他任何会使用的转换器。

    【讨论】:

      猜你喜欢
      • 2018-12-11
      • 1970-01-01
      • 1970-01-01
      • 2011-09-24
      • 1970-01-01
      • 1970-01-01
      • 2016-08-27
      • 2012-06-18
      相关资源
      最近更新 更多