当您的 json 文件包含键值对而不是键值对时,如何使用 export-CSV?

How to use export-CSV when your json file contains key-VALUES pairs instead of key-value pair?

我正在使用 powershell 尝试将 Json 转换为 csv。我有下面的 Json 文件,我想将其转换为 CSV。但是出于某种原因,当我 运行 我的代码如下时:

(Get-Content $pathToJsonFile -Raw | ConvertFrom-Json) | Select * | export-CSV $pathToOutputFile -NoTypeInformation 

我得到这个:

hosts                   ips
System.Object[]          System.Object[]

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"