Добавьте квадратные скобки при конвертации в json в powershell - PullRequest
0 голосов
/ 01 октября 2018

Я беру параметры из файла TemplateJSON и считываю данные из файла CSV и снова преобразую его в JSON.

TemplateJSON:
{
      "adhocUARs":[
        ""
      ],
      "rolefullpath": ""
    }

CSV File: 
RoleFullPath,ResourceName
FolderName\ABCD,ABCD User Account Resource

Получаю выходные данные в этом формате (без квадратных скобок):

NEWJSON:
    {
    "adhocUARs":"ABCD User Account Resource",
     "rolefullpath": "xyz"  
    }

Но я ожидаю, что вывод будет в следующем формате (с квадратными скобками):

 NEWJSON:
   {
      "adhocUARs":["ABCD User Account Resource"]    
      "rolefullpath": "xyz"     
   }

Используемый код:

$TemplateJSON = Convertfrom-json ([IO.File]::ReadAllText("TemplateJSON.json"))
$RoleFile = Import-CSV "CSVFile.csv" -Delimiter ','
[int]$Row = 0

Foreach ($Line in $RoleFile)
{    
    $Row = $Row + 1
    $NewJSON = $TemplateJSON
    $NewJSON.adhocUARs =  $Line.ResourceName
    $NewJSON.roleFullPath= $Line.RoleFullPath    

    $RolePath = "D:\\DummyFolder\"
    $JSONPath = $RolePath + "patch.json"  
    Convertto-JSON $NewJSON | Out-file -Encoding "UTF8" $JSONPath
 }

Что яне хватает? г

1 Ответ

0 голосов
/ 01 октября 2018

, поэтому в JSON [] является массивом.В настоящее время у вас есть $ NewJSON.adhocUARs в виде строкового значения.Простое решение будет:

$NewJSON.adhocUARs =  @($Line.ResourceName)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...