【发布时间】:2018-07-11 18:30:57
【问题描述】:
我找不到我的问题的标题。 我的课如下
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)
【问题讨论】:
-
你可以调制
var employees = //sql query .ToList(),提供sql查询或Linq查询 -
问题是“第一人称”似乎有一个从属的“第二人称”。为什么不直接解决呢?
-
NicoRiff:问题在于,对输出进行简单的反序列化会导致
"second person"出现两个不同的实例,这是不希望的。希望尊重实例的分层引用。 -
@Viplock 我正在使用 LINQ。在我的 dbcontext 中启用了延迟加载
-
是提供 linq 的代码,你的解决方案可以从那里得到
标签: c# json asp.net-mvc-4 json.net