Tworzę JSON w Powershell i chcę ustawić niestandardową szerokość zakładki podczas jego budowania (zamiast domyślnych 4 białych spacji chcę ustawić tylko 2 białe spacje) .Jak zmienić szerokość zakładki podczas konwersji do JSON w Powershell
Robię to, ponieważ:
- rzeczywista JSON (nie ten, przedstawiony w poniższym przykładzie) jest dość duża (100k + wierszy), a jeśli nie archieved, to wielkość jest dość duży; Jeśli zmniejszę szerokość zakładki, zauważalne jest zmniejszenie rozmiaru.
- rzeczywisty JSON ma głębokość 5+ węzłów!
- Nie mogę korzystać -Compress ponieważ JSON musi być czytelny dla człowieka
- Tak, zgadzam się, jeśli w archiwum, to wielkość jest znacznie zmniejszone, ale muszę też niezarchiwizowane.
Przykładowy kod:
$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
Wynik z szerokością zakładki = 4 białych znaków.
{
"Phone": "SomePhone",
"Description": "Lorem ipsum dolor..",
"Price": 99.99
}
Próbowałem kompresji ale nie daje kontrolę nad poziomem kompresji (jak mocna kompresja powinna być)
$object | ConvertTo-Json -Compress
Wynik skompresowany, oczywiście.
{"Phone":"SomePhone","Description":"Lorem ipsum dolor..","Price":99.99}
Co usiłuję osiągnąć: wynik z szerokością zakładki = 2 białych znaków.
{
"Phone": "SomePhone",
"Description": "Lorem ipsum dolor..",
"Price": 99.99
}
Co próbowałem tak daleko jest w pseudo kod poniżej. Wciąż jestem w pętli. Proszę zabierz mnie tam :)
while (1) {
Google, StackOverflow
Try Stuff found
Tweak stuff found
if (Correct answer) {
break
}
}
testowałem z 'głębszym' (głębokość węzła> = 3) i JSON wydaje się działać. Dzięki! –