8
我在Powershell中创建JSON,并且在构建它时设置自定义制表符宽度(而不是默认的4个空格,我只想设置2个空格) 。如何在Powershell中转换为JSON时更改制表符宽度
我这样做是因为:
- 实际JSON(而不要使用下面的示例中介绍)是相当大的(100K +行),如果没有archieved,它的大小是相当大的;如果我减少标签宽度,减小尺寸是值得注意的。
- 实际的JSON有5个节点的深度!
- 因为JSON需要是人类可读的,我不能使用-compress
- 是的,我同意,如果归档,它的大小显着降低,但我需要它也未归档。
样品的编号:
$object = New-Object PSObject
Add-Member -InputObject $object -MemberType NoteProperty -Name Phone -Value "SomePhone"
Add-Member -InputObject $object -MemberType NoteProperty -Name Description -Value "Lorem ipsum dolor.."
Add-Member -InputObject $object -MemberType NoteProperty -Name Price -Value 99.99
$object | ConvertTo-Json
结果与标签宽度= 4个的空白字符。
{
"Phone": "SomePhone",
"Description": "Lorem ipsum dolor..",
"Price": 99.99
}
我试过压缩,但它并没有给过压缩电平控制(应压缩如何侵略性是)
$object | ConvertTo-Json -Compress
结果压缩,效果显着。
{"Phone":"SomePhone","Description":"Lorem ipsum dolor..","Price":99.99}
我想实现:与标签宽度= 2个空白字符导致。
{
"Phone": "SomePhone",
"Description": "Lorem ipsum dolor..",
"Price": 99.99
}
我已经试过到目前为止是在下面的伪代码。我仍然在循环中。请让我离开那里:)
while (1) {
Google, StackOverflow
Try Stuff found
Tweak stuff found
if (Correct answer) {
break
}
}
我用“更深”(节点深度> = 3)测试JSON和它似乎工作。谢谢! –