Convertir en une structure de répertoire dans le système de fichiers JSON avec Node.js

J'ai un fichier de structure comme ceci:

root
|_ fruits
|___ apple
|______images
|________ apple001.jpg
|________ apple002.jpg
|_ animals
|___ cat
|______images
|________ cat001.jpg
|________ cat002.jpg

Je voudrais, à l'aide de Javascript et Node.js, écoutez cette racine le répertoire et tous les sous répertoires et de créer un JSON qui reflète cette structure de répertoire, chaque nœud contient le type, le nom, le chemin, et les enfants:

data = [
  {
    type: "folder",
    name: "animals",
    path: "/animals",
    children: [
      {
        type: "folder",
        name: "cat",
        path: "/animals/cat",
        children: [
          {
            type: "folder",
            name: "images",
            path: "/animals/cat/images",
            children: [
              {
                type: "file",
                name: "cat001.jpg",
                path: "/animals/cat/images/cat001.jpg"
              }, {
                type: "file",
                name: "cat001.jpg",
                path: "/animals/cat/images/cat002.jpg"
              }
            ]
          }
        ]
      }
    ]
  }
];

Voici un coffeescript JSON:

data = 
[
  type: "folder"
  name: "animals"
  path: "/animals"
  children  :
    [
      type: "folder"
      name: "cat"
      path: "/animals/cat"
      children:
        [
          type: "folder"
          name: "images"
          path: "/animals/cat/images"
          children: 
            [
              type: "file"
              name: "cat001.jpg"
              path: "/animals/cat/images/cat001.jpg"
            , 
              type: "file"
              name: "cat001.jpg"
              path: "/animals/cat/images/cat002.jpg"
            ]
        ]
    ]
]

comment obtenir ce format de données json dans django point de vue?(python)

  • C'est une exigence commune à l'acquisition de d3.js des données hiérarchiques. J'aimerais balise de cette question avec d3.js mais de Débordement de Pile permet à un maximum de 5 🙁
  • Je souhaite que l'un de ces réponses serait de lire les chemins à partir de stdin, de sorte que vous pouvez convertir une liste de chemins d'accès dans un objet json, comme ceci: find | paths2json. Qui permettrait de tirer parti de toute la puissance d'Unix composabilité à travers les pipelines.
InformationsquelleAutor hagope | 2012-06-25