我需要一个用于表示N叉树的数据结构,并将其在C#中转换为JSON。我正在使用.NET Core。当然,我希望能够遍历这个树。 我没有找到用于表示N叉树的C#工具,关于二叉树倒是有大量文档供参考。
看起来你不需要任何“特殊”的数据结构 - 只需要一个包含自身集合的类:
class HierarchyMember
{
public string Name { get; set; }
public List<HierarchyMember> Children { get; set; }
}
我想任何流行的C# JSON序列化器都应该处理得了。例如Netonsoft的Json.NET:
Console.WriteLine(JsonConvert.SerializeObject(new HierarchyMember
{
Name = "Root",
Children = new List<HierarchyMember>
{
new HierarchyMember {Name = "Child_1"},
new HierarchyMember {Name = "Child_2"}
}
}, Newtonsoft.Json.Formatting.Indented));
输出:
{
"Name": "Root",
"Children": [
{
"Name": "Child_1",
"Children": null
},
{
"Name": "Child_2",
"Children": null
}
]
}