public StringBuilder GetChildJsonStr(V_Zd_SStation station)
{
StringBuilder str = new StringBuilder();
str.Append("{\"id\":\"" + station.SStation + "\",\"text\":\"" + station.SStationName + "\"");
if (station.childNode != null)
{
str.Append(",\"children\":[");
foreach (var item in station.childNode)
{
//Recursive traversal of sub-nodes
str.Append(GetChildJsonStr(item));
}
str = new StringBuilder(str.ToString().TrimEnd(','));
str.Append("]");
}
str.Append("},");
return str;
}
其中,v_zd_sstation爲一個根節點對象。根節點下面會有子節點,從而形成樹形結構。
構建樹的方法:
private List<V_Zd_SStation> _StnList = null;
private void BuildingTree(ref V_Zd_SStation rootNode)
{
//remove the node
_StnList.Remove(rootNode);
string parentStation = rootNode.SStation;
rootNode.childNode = new List<V_Zd_SStation>();
rootNode.childNode = _StnList.FindAll(item => item.ParentSStation == parentStation);
int childCount = rootNode.childNode.Count;
//Traversing through all child nodes
for (int i = 0; i < childCount; i++)
{
V_Zd_SStation item = rootNode.childNode[i];
BuildingTree(ref item);
}
}
算是日常總結吧,我寫的可能也不是很好,如果各位有更好的方法,麻煩評論區告知下,謝謝~~~