使用 PowerShell 缩小 JSON?
Minify JSON with PowerShell?
有没有办法缩小(在这种情况下删除所有空格)一个 JSON 文件来转换这个
[
0.000005,
0,
0
],
[
219.740502,
0.003449,
4.177065
],
[
45.210918,
0.003365,
-16.008996
],
[
344.552785,
0.030213,
277.614965
],
为此使用 PowerShell
[0.000005,0,0],[219.740502,0.003449,4.177065],[45.210918,0.003365,-16.008996],[344.552785,0.030213,277.614965],
我已经在线尝试了几个 "minifiers" 但是该文件包含超过 100,000 个数组并且基本上破坏了所有在线压缩器。有什么想法吗?
您可以使用基本的正则表达式轻松做到这一点。如果您在文件中有此内容,请尝试以下操作。您必须包含 -Raw 参数,否则文件将一次传递一行,这将阻止正则表达式删除换行符。
(Get-Content C:\Some\File.json -Raw) -replace '\s','' | out-file C:\some\outfile.json
仅供参考,当您操作 PowerShell 对象并将它们转换为 JSON (ConvertTo-Json
) 时,您得到了 -compress
参数:
New-Object -TypeName PSCustomObject -Property @{Name="Hugot";GivenName="Victor"} | ConvertTo-Json -Compress
给出:
{"GivenName":"Victor","Name":"Hugot"}
添加到 JP 的回答中,
(ConvertFrom-Json $json) | ConvertTo-Json -Compress
如果您已经 json,这将很有用。如果你不在前面做 ConvertFrom-Json
,那么它将用 \r\n
编码换行符,用 \"
.
编码引号
有没有办法缩小(在这种情况下删除所有空格)一个 JSON 文件来转换这个
[
0.000005,
0,
0
],
[
219.740502,
0.003449,
4.177065
],
[
45.210918,
0.003365,
-16.008996
],
[
344.552785,
0.030213,
277.614965
],
为此使用 PowerShell
[0.000005,0,0],[219.740502,0.003449,4.177065],[45.210918,0.003365,-16.008996],[344.552785,0.030213,277.614965],
我已经在线尝试了几个 "minifiers" 但是该文件包含超过 100,000 个数组并且基本上破坏了所有在线压缩器。有什么想法吗?
您可以使用基本的正则表达式轻松做到这一点。如果您在文件中有此内容,请尝试以下操作。您必须包含 -Raw 参数,否则文件将一次传递一行,这将阻止正则表达式删除换行符。
(Get-Content C:\Some\File.json -Raw) -replace '\s','' | out-file C:\some\outfile.json
仅供参考,当您操作 PowerShell 对象并将它们转换为 JSON (ConvertTo-Json
) 时,您得到了 -compress
参数:
New-Object -TypeName PSCustomObject -Property @{Name="Hugot";GivenName="Victor"} | ConvertTo-Json -Compress
给出:
{"GivenName":"Victor","Name":"Hugot"}
添加到 JP 的回答中,
(ConvertFrom-Json $json) | ConvertTo-Json -Compress
如果您已经 json,这将很有用。如果你不在前面做 ConvertFrom-Json
,那么它将用 \r\n
编码换行符,用 \"
.