Как добавить ключи к значениям и преобразовать в json в PowerShell? - PullRequest
0 голосов
/ 04 ноября 2018

У меня есть такая строка:

$string = "PackageName1,1,C:\Path
PackageName2,12,C:\Path2
PackageName3,3,C:\Path3"

(это файл с несколькими строками, когда я получаю содержимое, у меня есть строка выше)

Я хочу преобразовать эту строку в Json:

[
   {
       Pacakge: "PackageName1",
       Branch: = "1",
       LocalPath = "C:\Path"
   }

   {
       Pacakge: "PackageName2",
       Branch: = "2",
       LocalPath = "C:\Path2"
   }
]

Я могу получить значения с помощью этого кода:

$spiltted = $string.Split(' ')

ForEach ($s in $splitted)
{
   $values = $s.Split(',')
}

Как добавить ключи Json к каждому значению и преобразовать его в объект Json?

Спасибо.

1 Ответ

0 голосов
/ 04 ноября 2018

Поскольку ваша строка выглядит как CSV без заголовков:

 $string | ConvertFrom-Csv -Header Package,Branch,LocalPath|ConvertTo-Json

Пример вывода

[
    {
        "Package":  "PackageName1",
        "Branch":  "1",
        "LocalPath":  "C:\\Path"
    },
    {
        "Package":  "PackageName2",
        "Branch":  "12",
        "LocalPath":  "C:\\Path2"
    },
    {
        "Package":  "PackageName3",
        "Branch":  "3",
        "LocalPath":  "C:\\Path3"
    }
]
...