我编写了一个函数,它扫描给定目录中的所有文件/目录并返回一个 json 对象。我需要使用 jstree 在 UI 上显示这个 json 对象。我在 go 中编写了函数,使用递归扫描以该特定文件夹为根的所有文件和目录。
这是我用来构建整个结构的类型
type Directory struct {
Name string "data"
SubDirs []Directory "children"
}
现在 jstree 接受以下格式的数据结构。
json_data: {
data: [
"f1",
"f2",
{
data: "f3",
children: ["f4", "f5"]
}
]
}
而不是格式:-
json_data: {
data: [
{
"data": "f1",
"children": []
}
{
"data": "f2",
"children": []
}
{
data: "f3",
children: ["f4", "f5"]
}
]
}
(当我传递上述数据结构格式时,它可能不起作用,因为“children”是空的)
因此我维护的数据结构Directory不足以构建目录结构。
如何解决同构构建目录树的问题?
最佳答案
最后一个甚至不是有效的 JSON。该规范定义空数组是有效的并且是允许的。尝试:
{
"data": [
{
"data": "f1",
"children": []
},
{
"data": "f2",
"children": []
},
{
"data": "f3",
"children": [
"f4",
"f5"
]
}
]
}
使用JSONLint验证您的 JSON 对象。
关于javascript - json中的空数组问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6612481/