RT,现在我有一串json字符串,需求是根据json字符串画出流程图,只要有父子关系的两个节点就连线连起来。已知:json数据中的ID和parentID形成了父子关系,即父节点的id是子节点的parentID。现在有一个很棘手的问题,比如ABCDE五个节点,其中A是E的父节点,那么AE两个节点具有父子关系,假如ABCE四个节点,每两个节点之间又形成了父子关系,再如ADE三个节点之间也形成了父子关系,那么我要画流程图的话,怎样确认所有节点的层级关系?
请问:
1)如何用js将这串json数据格式化成树形结构数据;
2)如何将层级关系找到?
还请大神能够提供一下解决的思路!万分感谢!
问题补充:
首节点:parentId为0,id为某一个值。
我现在可以用JAVA后台返回的数据画出流程图(下图就是我得到的流程图),但问题的关键还是在于我怎么确认所有节点之间的层级关系?不然的话我得到的流程图就是杂乱无章的,请问有啥思路可以解决这个问题么?
有一个第三方的树形插件,ztree,它就可以实现你想要的功能。也是解析的json。可以了解一下。
好的谢谢,但是ztree貌似并不能解决我所问道的怎样确认层级关系这一问题?
@请叫我阳大官人: 你是想得到一个可以看得出有层级关系的json,还是说是根据json,把这个json转换成可视化的树形结构,类似乎树形菜单那种?
@程序人生,永无止境: 根据json转化成可视化的树形结构!
@请叫我阳大官人: 那ztree就可以实现,他是根据id和parentid来去层级关系的。不然,你就自己写js代码慢慢遍历获取了
先找到parentId为0的节点,画出来,然后找到parentId为上一个节点的id的节点,这样从上到下画出来就是一棵树了
对的,这是正确的思路,可是我还是不明白,用js去解析这段json的话,你怎么按照顺序得到所需要的数据?
parentId为0的是第一层级,下面的是第二层,以此类推 是这个意思吗?
是的,是这个意思!