проблема нулевого массива в JSON - PullRequest
0 голосов
/ 07 июля 2011

Я написал функцию, которая сканирует все файлы / каталог в данном каталоге и возвращает объект json. Мне нужно отобразить этот объект json на пользовательском интерфейсе, используя jstree. Я написал эту функцию в 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"]
            }
        ]
 }

(когда я передаю вышеупомянутый формат структуры данных, он, вероятно, не работает, так как "дети" - ноль)

Таким образом, поддерживаемая мной структура данных Directory не достаточна для построения структуры каталогов.

Как мне решить эту проблему однородного построения дерева каталогов?

1 Ответ

1 голос
/ 07 июля 2011

Последний даже не является действительным JSON. Спецификация определяет, что пустые массивы допустимы и разрешены. Попробуйте:

{
    "data": [
        {
            "data": "f1",
            "children": []
        },
        {
            "data": "f2",
            "children": []
        },
        {
            "data": "f3",
            "children": [
                "f4",
                "f5"
            ]
        }
    ]
}

Используйте JSONLint для проверки ваших объектов JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...