Aby użyć REST API, muszę przekazać obiekt JSON, który wygląda tak:zagnieżdżone tablice i ConvertTo-Json
{ "series" :
[{
"metric": "custom.powershell.gauge",
"points":[[1434684739, 1000]]
}
]
}
Uwaga zagnieżdżona tablica tutaj. Nie mogę tego odtworzyć. Tu jest mój kodu:
[int][double]$unixtime=get-date ((get-date).ToUniversalTime()) -UFormat %s
[email protected]{}
[email protected]{}
[email protected]()
[email protected]()
$value=get-random -Minimum 0 -Maximum 100
$series.add("metric","custom.powershell.gauge")
[email protected](@($unixtime, $value))
$series.add("points",$points)
$obj.Add("series",@($series))
$json=$obj | ConvertTo-Json -Depth 30 -Compress
$json
I tu jest wyjście:
{"series":[{"points":[1434685292,95],"metric":"custom.powershell.gauge"}]}
Próbowałem wielu rzeczy, nie mogę dostać 2 tablice być zagnieżdżona, to zawsze w końcu wygląda jak pojedyncza szyk.
Na tej samej notatki, przyszedł ktoś wyjaśnić to proszę:
> $a=(1,2)
> $a
1
2
> $a | ConvertTo-Json
[
1,
2
]
> $b=($a,$a)
> $b
1
2
1
2
> $b | ConvertTo-Json
[
{
"value": [
1,
2
],
"Count": 2
},
{
"value": [
1,
2
],
"Count": 2
}
]
Gdzie są te value
i Count
pochodzących z?
Dzięki za pomoc.
Operator przecinka działa również z jedną zagnieżdżoną tablicą: '$ points =, @ ($ unixtime, $ value)' –
Dzięki! Zagram z tym i zaktualizuję wątek. – simsaull
Link do definicji parametru: https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.utility/convertto-json#-depth –