我的JSON查询返回我想使用PowerShell解析的天气数据。我想删除所有不必要的项目,并将最终文件导出为CSV或txt。
$json = Get-Content -Raw $path | ConvertFrom-Json #get JSON object from directory and convert to powershell object
$hourly = $json.hourly_forecast
$FCTTIME = $hourly.FCTTIME
$pretty = $FCTTIME | Select pretty
$temp = $hourly.temp
$eng = $temp | Select english
$parsed = $eng, $pretty
似乎工作正常,但当我在CSV中输出$parsed
时,它具有对象属性,而不是$eng
和$pretty
的值。有没有更简单的方法来解析JSON文件或者我可以在最后一步中组合数组的另一种方式?
答案 0 :(得分:4)
展开属性。此外,Export-Csv
导出对象的属性,而不是数组的值。这样的事情应该有效:
Get-Content -Raw $path |
ConvertFrom-Json |
select -Expand hourly_forecast |
select @{n='Pretty';e={$_.FCTTIME | select -Expand pretty}},
@{n='English';e={$_.temp | select -Expand english}} |
Export-Csv 'C:\output.csv' -NoType