Sto creando un JSON in PowerShell e voglio impostare una larghezza di tabulazione personalizzata al momento della sua costruzione (invece dei 4 spazi bianchi predefiniti voglio impostare solo 2 spazi bianchi) .Come modificare la larghezza della tabulazione durante la conversione in JSON in Powershell
sto facendo questo perché:
- il JSON reale (non quello presentato nel campione sotto) è abbastanza grande (100k + file) e, se non archieved, la sua dimensione è abbastanza grande; Se riduco la larghezza della tabulazione, la riduzione della dimensione è notevole.
- l'effettivo JSON ha una profondità di 5+ nodi!
- Non riesco a utilizzare -Compress poiché il JSON deve essere leggibile dall'uomo
- Sì, sono d'accordo, se archiviato, la sua dimensione è drasticamente ridotta ma ne ho bisogno anche non archiviata.
codice di esempio:
$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
risultato con larghezza tab = 4 caratteri di spazio vuoto.
{
"Phone": "SomePhone",
"Description": "Lorem ipsum dolor..",
"Price": 99.99
}
ho cercato di compressione, ma non dà il controllo sul livello di compressione (come aggressiva compressione dovrebbe essere)
$object | ConvertTo-Json -Compress
Risultato compressa, ovviamente.
{"Phone":"SomePhone","Description":"Lorem ipsum dolor..","Price":99.99}
quello che sto cercando di realizzare: risultato con larghezza tab = 2 caratteri di spazio vuoto.
{
"Phone": "SomePhone",
"Description": "Lorem ipsum dolor..",
"Price": 99.99
}
Quello che ho provato finora è nel codice pseudo di seguito. Sono ancora nel giro. Si prega di tirarmi fuori di lì :)
while (1) {
Google, StackOverflow
Try Stuff found
Tweak stuff found
if (Correct answer) {
break
}
}
ho provato con un (profondità del nodo> = 3) 'più profondo' JSON e sembra funzionare. Grazie! –