把指定的路径转化为json串。用于jstree的数据源
最近在用jstree。把任一个个指定的路径,把该路径下的所有文件用jstree形成目录树。jstree接收的数据是json格式。这里需要无限递归,遍历路径下的所有文件,并转化成json串。.
举个例子:如路径是E:/test
则应把test下的所有文件遍历一遍,并转化成json串存起来。
在E盘下建了一个名为test的文件夹,里面有test1(文件夹),test2.txt, test3.txt。test1文件夹下又有test1.1.txt
目录结构如下:
test1 E:\test\test1 Pid=0
test1.1.txt E:\test\test1\test1.1.txt Pid=1
test2.txt E:\test\test2.txt Pid=2
test3.txt E:\test\test3.txt Pid=3
则输出的json串应是这样的:
[{attributes:{id:"0"},state:"open",data:"test1" ,children:[{attributes:{id:"1"},state:"open",data:"test1.1.txt" }] },{attributes:{id:"2"},state:"open",data:"test2.txt" },{attributes:{id:"3"},state:"open",data:"test3.txt" }]
我整整调了半天的代码,这样一个小程序我也是醉了……不过最后终于成功了!好吧,上代码。亲测通过
简单的测试用例是:在E盘下建了一个名为test的文件夹,里面有test1(文件夹),test2.txt, test3.txt。test1文件夹下又有test1.1.txt。就是上面的例子。