【问题标题】:Cannot bind argument to parameter 'Path' because it is null. poweshell无法将参数绑定到参数“路径”,因为它为空。电源外壳
【发布时间】:2020-08-05 18:08:12
【问题描述】:

刚刚找到一个将 json 转换为 csv 的脚本。我收到错误无法将参数绑定到参数“路径”,因为它为空。

$pathToJsonFile=C:\Users\ritsharma\Desktop\employees.json
$pathToOutputFile=C:\Users\ritsharma\Desktop\employees.csv
((Get-Content -Path $pathToJsonFile) | ConvertFrom-Json).results |
ConvertTo-Csv -NoTypeInformation |
Set-Content $pathToOutputFile

这是json文件

{"employees":[
{"firstName":"John","lastName":"Doe"},
{"firstName":"Anna","lastName":"Smith"},
{"firstName":"Peter","lastName":"Jones"}
 ]}

【问题讨论】:

  • 你能分享一个你正在导入的json的例子吗?
  • 刚刚更新了json文件
  • 如果我错了,请纠正我,您要做的是将员工数组中的员工导出到 CSV 文件?
  • 我的动机是将 json 文件转换为 csv 文件。我在网上得到了它的代码并试图让它工作
  • 如果 json 文件具有扁平结构,则无需先扁平化 json 即可。如果是深度结构,那么您无法将其转换为 csv 文件,因为 csv 文件本质上是一种平面文件类型。在这种情况下,您的 json 不平坦,因此您需要先对其进行处理。例如决定是否只想将员工的行导出到 csv 文件。

标签: powershell


【解决方案1】:

用双引号将变量值括起来。

$pathToJsonFile="C:\temp\employees.json"
$pathToOutputFile="C:\temp\employees.csv"

(Get-Content -Path $pathToJsonFile | ConvertFrom-Json).employees | ConvertTo-Csv -NoTypeInformation | Set-Content $pathToOutputFile

【讨论】:

  • 未收到此错误无法将参数绑定到参数“InputObject”,因为它为空。
  • @ritwiksharma 我想你想做这样的事情对吗?
猜你喜欢
  • 1970-01-01
  • 2020-02-09
  • 1970-01-01
  • 1970-01-01
  • 2021-03-14
  • 1970-01-01
  • 1970-01-01
  • 2018-03-18
  • 1970-01-01
相关资源
最近更新 更多