csv文件方便批量编辑,可以借助excel完成
json文件作为一些软件的配置文件也经常出现,于是就有了文章标题的需求。
借助vscode+Fitten我快速开发并测试通过,用一段powershell代码来完成这个功能:
# JSON 转换为 CSV
function Convert-JsonToCsv {
param (
[string]$jsonPath, # JSON 文件路径
[string]$csvPath # CSV 文件路径
)
# 读取 JSON 文件内容
$jsonContent = Get-Content -Path $jsonPath -Encoding UTF8 | Out-String
# 将 JSON 转换为 PowerShell 对象
$data = $jsonContent | ConvertFrom-Json
# 将 PowerShell 对象导出为 CSV 文件(指定 UTF-8 编码)
$data | Export-Csv -Path $csvPath -NoTypeInformation -Encoding UTF8
Write-Host "JSON 文件 $jsonPath 已成功转换为 CSV 并保存为 $csvPath"
}
# CSV 转换为 JSON
function Convert-CsvToJson {
param (
[string]$csvPath, # CSV 文件路径
[string]$jsonPath # JSON 文件路径
)
# 从 CSV 文件导入数据(指定 UTF-8 编码)
$csvData = Import-Csv -Path $csvPath -Encoding UTF8
# 将 CSV 数据转换为 JSON 格式
$jsonData = $csvData | ConvertTo-Json
# 将 JSON 数据保存到文件(指定 UTF-8 编码)
$jsonData | Out-File -FilePath $jsonPath -Encoding UTF8
Write-Host "CSV 文件 $csvPath 已成功转换为 JSON 并保存为 $jsonPath"
}
把这段代码保存为 ConvertCsvJson.ps1,用 ipmo .\ConvertCsvJson.ps1 导入这个模块,测试如下:
Convert-CsvToJson .\config.csv config111.json
Convert-JsonToCsv config111.json config123.csv
都是成功的,这样就完成了相互转换。
我把json转换成csv后用excel快速编辑,编辑完再转回json作为配置文件让软件加载运行,节省了大量时间。