如何在powershell中从多级json创建csv?
我试图解析一个JSON响应,它看起来像如何在powershell中从多级json创建csv?,json,powershell,csv,parsing,scripting,Json,Powershell,Csv,Parsing,Scripting,我试图解析一个JSON响应,它看起来像 { "Objects": [ { "Name": "FirstName", "Type": "XXXX", }, { "Name": "SecondName",
{
"Objects": [
{
"Name": "FirstName",
"Type": "XXXX",
},
{
"Name": "SecondName",
"Type": "YYYY",
},
{
"Name": "ThirdName",
"Type": "ZZZZ",
},
],
"TotalCount": 127
}
我想要一个CSV格式的
"Name","Type"
"FirstName","XXXX"
"SecondName","YYYY"
等等。
我尝试创建一个PSCustomObject并使用Select Object生成CSV,但它没有提供所需的输出。
我的代码:
给我的CSV看起来像:
"Name","Type"
"FirstName
SecondName
ThirdName",
"XXXX
YYYY
ZZZZ"
如果您真的想要csv中的总计数,您可以做以下一件事:
$psobjarray = ($json | convertfrom-json)
$psobjarray.objects | Select-Object Name,Type | Export-Csv $Path
"Total Count: $($psobjarray.totalcount)" | out-file $Path -append
你试过:$json | convertfromjson吗?这将自动为您将其转换为PSObject$json | converfrom json | export csv$path我确实尝试过,但最终得到的csv具有System.Object[]entriesAh。。。我看到JSON中有一个父数组。。。试试:($json | convertfromJSON)。对象|选择对象名称,键入|导出Csv$PathPerfect!现在我可以访问对象数组了。如何在同一csv文件中包含TotalCount?TotalCount不是由最后一个条目的行号提供的吗?如果在CSV中包含“totalcount”并带有“Name,Type”标题,则会弄乱CSV的结构
$psobjarray = ($json | convertfrom-json)
$psobjarray.objects | Select-Object Name,Type | Export-Csv $Path
"Total Count: $($psobjarray.totalcount)" | out-file $Path -append