Powershell Daten strukturieren als json
Aloa in die Runde,
vielleicht denke ich auch wieder zu sehr um die Ecke, folgendes:
Ich habe einen Berg an Subscriptions die ich aus einem unserem System ausgelesen habe und jetzt wolle ich zum Auswerten das alles etwas strukturieren und so dynamisch halten ohne das Script anpacken zu müssen.
Also für jeden Subscriptiontyp einen Block generieren und den beim auszählen einfach mit Werten füllen.
Jetzt scheitere ich daran die "Count" Variablen in der Verschachtelung zu füllen.
CountSum bekomme ich beschrieben. Oder doch das Pferd andersherum aufzäumen?
Jetzt probierte ich die Datenabbildung oben aus PSObjects aufzubauen:
Wenn ich jetzt allerdings aus dem Ganzen versuche ein JSON zu machen kommt nur folgendes bei rum:
Wie bekomme ich das JSON so hin wie in der Überlegung am Anfang?
Grüße zum Freitag
vielleicht denke ich auch wieder zu sehr um die Ecke, folgendes:
Ich habe einen Berg an Subscriptions die ich aus einem unserem System ausgelesen habe und jetzt wolle ich zum Auswerten das alles etwas strukturieren und so dynamisch halten ohne das Script anpacken zu müssen.
Also für jeden Subscriptiontyp einen Block generieren und den beim auszählen einfach mit Werten füllen.
$zaehldaten= [ordered]@{
"Subscription1" = @(
@{
"CountSum" = 1000
"Status" = @(
@{
"Active" = 900
"Cancelled" = 100
}
)
"Ordered" = @(
@{
"2020" = @(
@{
"Count" = 570
}
)
"2021" = @(
@{
"Count" = 270
}
)
}
)
"Cancelled" = @(
@{
"2020" = @(
@{
"Count" = 300
}
)
"2021" = @(
@{
"Count" = 100
}
)
}
)
}
)
}
Jetzt scheitere ich daran die "Count" Variablen in der Verschachtelung zu füllen.
CountSum bekomme ich beschrieben. Oder doch das Pferd andersherum aufzäumen?
Jetzt probierte ich die Datenabbildung oben aus PSObjects aufzubauen:
$allData = @()
$allData += New-Object PSObject -Property @{Subscription1 = @()}
$($allData).Subscription1 += New-Object PSObject -Property @{Count="1000"; Status=@(); Ordered=@(); Cancelled=@()}
$($($allData).Subscription1).Status += New-Object PSObject -Property @{Active="900"; Cancelled="100"}
$($($allData).Subscription1).Ordered += New-Object PSObject -Property @{2020=@(); 2021=@()}
$($($($allData).Subscription1).Ordered).2020 += New-Object PSObject -Property @{Count=2020}
$($($($allData).Subscription1).Ordered).2021 += New-Object PSObject -Property @{Count=2021}
$($($allData).Subscription1).Cancelled += New-Object PSObject -Property @{2020=@(); 2021=@()}
$($($($allData).Subscription1).Cancelled).2020 += New-Object PSObject -Property @{Count=2020}
$($($($allData).Subscription1).Cancelled).2021 += New-Object PSObject -Property @{Count=2021}
$($($($($allData).Subscription1).Cancelled).2020).Count = 10
$allData | ConvertTo-Json
Wenn ich jetzt allerdings aus dem Ganzen versuche ein JSON zu machen kommt nur folgendes bei rum:
{
"Subscription1": [
{
"Ordered": "",
"Status": "",
"Cancelled": "",
"Count": "1000"
}
]
}
Wie bekomme ich das JSON so hin wie in der Überlegung am Anfang?
Grüße zum Freitag
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 667935
Url: https://administrator.de/contentid/667935
Ausgedruckt am: 21.11.2024 um 12:11 Uhr
1 Kommentar