我有一個 Invoke-RestMethod 的引數部分,我必須保持原樣,但還要添加引數:
$param = @{
...
Body = '{"entry":[{"@name":SOMETEXT,"static":{"member":[ANOTHERTEXT]}}]}'
...
}
由于整個Body是單引號,任何$parameter添加的都將被視為字串而不是普通的 PowerShell 引數
在這種情況下SOMETEXT和ANOTHERTEXT將分別是$HubAddressObject和$ArrayList。
我如何使 Body 條目與引數一起作業,并保持相同的結構(這是全景框的一部分)?
我需要的是:
Body = '{"entry":[{"@name":$HubAddressObject,"static":{"member":[$ArrayList]}}]}'
謝謝。
uj5u.com熱心網友回復:
我建議使用ConvertFrom-Json/ConvertTo-Json來做那種事情。
要將其保留為 1 行,您可以使用-Compress開關。
$params = @{
Body = '{"entry":[{"@name":"SOMETEXT","static":{"member":"[ANOTHERTEXT]"}}]}'
}
# Create a PSObject representation of your JSON
$jsonObj = $Params.body | ConvertFrom-Json
#Modify whatever you want
$jsonObj.entry[0].'@name' = 'NewText'
# Convert the Object back to Json.
$Params.Body = $JsonObj | Convertto-Json -Compress -Depth 4
json比較
# Starting off Json
{"entry":[{"@name":"SOMETEXT","static":{"member":"[ANOTHERTEXT]"}}]}
# Modified JSON
{"entry":[{"@name":"NewText","static":{"member":"[ANOTHERTEXT]"}}]}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/495216.html
