问题描述
vardata=[{text:'1',id:'1',children:[{text:'11',id:'11'}]},{text:'2',id:'2',expanded:true,children:[{text:'21',id:'21',children:[{text:'211',id:'211'},{text:'212',id:'212'}]},{text:'22',id:'22'}]},{text:'3',id:'3'},{text:'4',id:'4'}];上面的数据有4个父节点,每个父节点下可能有一些子节点,子节点下也有子节点,这个用递归可以拼接好吗?
解决方案
解决方案二:
拼接问题不大,但解析就相对困难。一般而言只需言明父子节点关系即可{text:'2',id:'2',pid:''},{text:'21',id:'21',pid:'2'},{text:'211',id:'211',pid:'21'}刻意用json去表现递归层次关系只会对自己解析造成不必要的麻烦,除非有特殊需求
解决方案三:
引用1楼xdashewan的回复:
拼接问题不大,但解析就相对困难。一般而言只需言明父子节点关系即可{text:'2',id:'2',pid:''},{text:'21',id:'21',pid:'2'},{text:'211',id:'211',pid:'21'}刻意用json去表现递归层次关系只会对自己解析造成不必要的麻烦,除非有特殊需求
子节点是放在children里面的
解决方案四:
引用2楼u013915088的回复:
子节点是放在children里面的
除非特殊需要,不然没必要放children
解决方案五:
哥们要自己写一个json的反序列化算法么。。。可以用一个符号栈压入左括号,一个数据栈压入左括号之后的字符串匹配右括号,两个栈都压出。。。。大概是这样子
解决方案六:
引用楼主u013915088的回复:
上面的数据有4个父节点,每个父节点下可能有一些子节点,子节点下也有子节点,这个用递归可以拼接好吗?
你应该声明一个.net自定义class,进行基于类型的编程设计。不是拼接字符串。
解决方案七:
“拼接字符串”的个别语句确实是你刚学编程时学到的。但是你要掌握分寸,程序复杂到一定程度(就好像小学生要直接上职业高中了),就不要拼接字符串了。