如何在序列化时为循环值设置null

时间:2018-02-01 12:18:59

标签: c# json asp.net-mvc-4 json.net

我无法找到问题的标题。 我的课程如下

class Employee
{
    public string Name { get; set; }
    public List<Employee> Subordinates { get; set; }
} 

如果我序列化这个类对象,它看起来如下所示

[
  {
    "Name": "first person",
    "Subordinates": [
      {
        "Name": "second person",
        "Subordinates": null
      }
    ]
  },
  {
    "Name": "second person",
    "Subordinates": null
  }
]

但我需要它像这样

[
  {
    "Name": "first person",
    "Subordinates": null
  },
  {
    "Name": "second person",
    "Subordinates": null
  }
]

我怎样才能得到这个 我不是只使用这个课程。我有许多类员工,所以我需要一个解决方案,我的所有课程。 我在下面的代码中使用了一个类。我知道它不是解决方案,但我没有找到更好的解决方案

var employees = //sql query .ToList()
foreach(var item in employees){
    item.Subordinates = null;
}

return Json(employess)

1 个答案:

答案 0 :(得分:1)

根据您使用的串行器,解决方案会有所不同。

尝试将[NonSerialized] [XmlIgnore] [ScriptIgnore]添加到List媒体资源。