Как использовать export-CSV, если ваш файл json содержит пары ключ-ЗНАЧЕНИЕ вместо пары ключ-значение?
Я использую powershell, чтобы попытаться преобразовать Json в csv. У меня есть файл Json, который я хотел бы преобразовать в CSV. Но по какой-то причине, когда я запускаю свой код ниже:
(Get-Content $pathToJsonFile -Raw | ConvertFrom-Json) | Select * | export-CSV $pathToOutputFile -NoTypeInformation
Я получаю это:
Вот как выглядит файл json:
{
"hosts": [
"myserver01",
"myserver02",
"myserver03",
"myserver04",
"myserver05"
],
"ips": [
"10.100.0.10",
"10.111.11.111",
"10.122.2.22",
"100.22.111.111",
"10.111.222.333"
]
}
Я хочу, чтобы результат выглядел так
Пожалуйста помоги. Я занимался этим последние пару часов. Я не очень хорошо разбираюсь в PowerShell. Как это сделать?
Спасибо
1 ответ
Решение
Нравится? Я предполагаю, что первый хост идет с первым ip и так далее.
$a = cat file.json | convertfrom-json
0..($a.hosts.count-1) |
foreach { [pscustomobject]@{hosts = $a.hosts[$_]; ips = $a.ips[$_]} } |
convertto-csv
"hosts","ips"
"myserver01","10.100.0.10"
"myserver02","10.111.11.111"
"myserver03","10.122.2.22"
"myserver04","100.22.111.111"
"myserver05","10.111.222.333"