Создайте JSON с ключами из массива Powershell - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть этот объект Powershell Array со строковыми значениями в нем

[value1,value2,value3,value4,..etc]

Я хотел бы преобразовать его в JSON объект с ключом с именем value, который имеет значения в массиве и делает его похожим на это

[
   { "value" : "value1" },
   { "value" : "value2" },
   { "value" : "value3" },
   { "value" : "value4" },
         ...
]

Возможно ли это в powershell? Имейте в виду, что массив может иметь длину 50, поэтому он должен проходить через массив oop. Спасибо

1 Ответ

1 голос
/ 01 апреля 2020

В PowerShell v3 + можно выполнять следующие действия:

# Starting Array $arr that you create
$arr = 'value1','value2','value3'

# Create an array of objects with property named value and value of each array value
# Feed created objects into the JSON converter
$arr | Foreach-Object {
    [pscustomobject]@{value = $_}
} | ConvertTo-Json

В PowerShell v2 можно выполнять следующие действия:

$json = New-Object -Type 'System.Text.Stringbuilder'
$null = $json.Append("[")
$arr | foreach-Object {
    $line = "    {{ ""value"" : ""{0}"" }}," -f $_
    $null = $json.Append("`r`n$line")
}
$null = $json.Remove($json.Length-1,1)
$null = $json.Append("`r`n]")
$json.ToString()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...