Вложенные json л oop в Powershell - PullRequest
       6

Вложенные json л oop в Powershell

0 голосов
/ 20 апреля 2020

Я пытаюсь создать вложенные папки в datalake, используя схему JSON в Powershell.

Хотя это работает, он создает все вложенные папки для всех путей. Я добавил тест json.

my Json =

{
  "system": [
    {
      "filesystem": "ing",
      "foldersToCreate": [
        {
          "path": "path1/",
          "foldersToCreate": [
            {
              "path": "test1/"
            },
            {
              "path": "test2/"
            }
          ]
        },
        {
          "path": "path2/",
          "foldersToCreate": [
            {
              "path": "test2/"
            }
          ]
        }
      ]
    }
  ]
}

Пример. path1 -test1 -test2 Path2 -test2

Код работает, но также создает test2 в path1. я полагаю, это проблема со свойствами.

function Read-JsonConfig([string]$path)
{
  $file = Get-Item $path
  $plaintext = $file | Get-Content

  $blockComments = '/\*(.*?)\*/'  

  $psObject = $cleantext | ConvertFrom-Json

  return $psObject
}


function create-gen2-folders($folderConfig, $parentPath = '/')
{
  $foldersToCreate = $folderConfig.foldersToCreate | Sort-Object { $_.path }

  foreach($folderToCreate in $foldersToCreate)
  {
    $path = build-path $parentPath $folderToCreate.path

    if($foldersToCreate.foldersToCreate -ne $null)
    {
      create-gen2-folders -folderConfig $folderToCreate -parentPath $path
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...