如何使用Powershell将JSON文件转换为含指定行列的CSV文件
PowerShell 提取指定JSON字段转CSV解决方案
你之前执行的命令缺少指定导出字段的步骤,且未使用-Raw参数读取完整JSON内容,才会得不到预期效果,使用以下命令即可实现需求:
Get-Content -Path "jsonfile.json" -Raw | ConvertFrom-Json | Select-Object name, version, id, author, description, deploymentDate | Export-Csv -Path "output.csv" -Encoding UTF8 -NoTypeInformation
注意事项
- 你提供的示例JSON存在语法错误:每个
signDetails对象末尾缺少闭合的},需先修正JSON语法,命令才能正常执行。 - 示例JSON中不存在
author字段,导出后CSV的author列会默认填充空值,若你实际使用的JSON中该字段有其他命名,直接修改Select-Object后的对应字段名即可。 - 若需要避免
description字段中的换行符打乱CSV格式,可在选择字段前增加换行符替换逻辑:Get-Content -Path "jsonfile.json" -Raw | ConvertFrom-Json | ForEach-Object { # 将换行符替换为空格,可根据需要调整替换的字符 $_.description = $_.description -replace "`r?`n", " " $_ } | Select-Object name, version, id, author, description, deploymentDate | Export-Csv -Path "output.csv" -Encoding UTF8 -NoTypeInformation - 若执行时提示JSON解析失败,可单独运行
Get-Content -Path "jsonfile.json" -Raw | ConvertFrom-Json查看具体的语法报错,根据报错定位JSON文件的问题位置即可。
内容的提问来源于stack exchange,提问作者4M3H
相关产品推荐
相关产品推荐

