我有一个非常简单的脚本,旨在转换成一个csv文件到一个json文件,因为这是我需要通过某些中间件传输的文件。当使用下面的代码从csv转换到json时,它会自动在输出两边添加方括号(我相信这意味着它将其转换为数组):
$TestFile = 'E:\TestFile.prn'
if(Test-Path $TestFile) {
(Get-Content $TestFile| ConvertFrom-Csv) | ConvertTo-Json -compress | Out-File "E:\TestFile.json"
}这做了我期望它做的所有事情,除了它在结果输出两边添加了方括号。我想要完全相同的输出,但没有方括号。在上面的转换过程中,有没有办法做到这一点,或者有没有办法添加一个额外的命令行来去掉括号?
首先要感谢大家!
诚挚的问候
发布于 2021-11-05 10:53:05
严格地说,方括号是正确的JSON。它返回一个数组,因为它是一个数组。
但是,您只能删除字符串的第一个和最后一个字符:
Import-Csv -Path $TestFile |
ConvertTo-Json -Compress |
ForEach-Object { $_.Substring(1, $_.Length - 2) } |
Out-File "E:\TestFile.json"https://stackoverflow.com/questions/69851741
复制相似问题