Powershell 当json文件包含键值对而不是键值对时,如何使用导出CSV?
我正在使用powershell尝试将Json转换为csv。我有下面的Json文件,我想转换成CSV。但出于某种原因,当我运行下面的代码时:Powershell 当json文件包含键值对而不是键值对时,如何使用导出CSV?,powershell,export-csv,convertfrom-json,Powershell,Export Csv,Convertfrom Json,我正在使用powershell尝试将Json转换为csv。我有下面的Json文件,我想转换成CSV。但出于某种原因,当我运行下面的代码时: (Get-Content $pathToJsonFile -Raw | ConvertFrom-Json) | Select * | export-CSV $pathToOutputFile -NoTypeInformation 我明白了: 以下是json文件的外观: { "hosts": [ "m
(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不是很在行。如何做到这一点
像这样谢谢你?我假设第一个主机与第一个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"
JSON文件中有两个不相关的数组。您希望如何使用相应的ip连接正确的主机。。。就因为他们的命令?