javascript - json中的空数组问题

标签 javascript json go

我编写了一个函数,它扫描给定目录中的所有文件/目录并返回一个 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/

相关文章:

javascript - 无法使用 JSON.parse 解析字符串

javascript - 使用 2 个 key 从 JSON AngularJS 接收数据

javascript - 如何动态获取 Javascript 中对象的值?

go - 如何检查golang中缺少的依赖项

javascript - 当我使用 JavaScript 更改类时,为什么 CSS 没有动画?

Javascript:var myFunc = function() 与 var myFunc = function myFunc()

php - jQuery 获取 JSON 网址

Javascript 从字符串数组创建一个对象

golang ssh 由 nc 替换 ssh ProxyCommand

go - 可变参数函数是可选参数的合适解决方案吗?