如何从JSON创建CSV输出?

时间:2015-06-19 23:37:28

标签: json powershell csv

我的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文件或者我可以在最后一步中组合数组的另一种方式?

1 个答案:

答案 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