PowerShell ConvertTo-Json转换后字符间多空格问题及解决方法
PowerShell 7 JSON输出异常问题排查与修复
问题原因
你代码里的Write-Host @databasesDev是错误用法:PowerShell中@<变量>是数组展开语法,它会把$databasesDev存储的JSON字符串拆分成单个字符的数组。而Write-Host输出数组元素时,默认用空格分隔每个元素,所以最终出现了字符间加空格的异常结果。
修复方案
直接输出变量即可,不需要添加@符号:
$databasesArray = @('Zero','One','Two','Three') $databasesDev = $databasesArray | ConvertTo-Json -Compress Write-Host $databasesDev
或者更简洁的方式(PowerShell默认会输出变量值,无需显式调用Write-Host):
$databasesArray = @('Zero','One','Two','Three') $databasesDev = $databasesArray | ConvertTo-Json -Compress $databasesDev
执行后就能得到预期结果:["Zero","One","Two","Three"]
内容的提问来源于stack exchange,提问作者Tomasz Maj
相关产品推荐
相关产品推荐

