2
我對powershell的東西很陌生。所以在這裏需要一些幫助。如何將json對象作爲參數傳遞給另一個powershell腳本
我想將json對象作爲參數傳遞給另一個ps1。從我在搜索後閱讀的是,我需要將它從json字符串轉換爲powershell對象。如果我錯了,請糾正我。這是我在做什麼
調用腳本:
$jsonParams = "{
`"TaskName`": `"$taskName`",
`"ExitCode`": `"$exitCode`",
`"ErrorMessage`": `"$errorMessage`"
}
$jsonObject = $jsonParams | ConvertFrom-Json
$argumentList = @($param1, $param2, $jsonObject)
Invoke-Expression "& `"$scriptPath`" $argumentList"
,並在調用的腳本 -
param (
[string]$param1,
[string]$param2,
[Microsoft.PowerShell.Commands.JsonObject]$jsonObject
)
但是,調用腳本拋出錯誤
ConvertFrom-Json : Invalid object passed in, ':' or '}' expected. (21): {
有什麼不對的碼。另外,在將json對象傳遞給被調用的腳本之後,我應該如何訪問它的值。
謝謝!
這只是一個部分答案,因爲您仍然會得到該類型轉換的錯誤。我不使用它,所以我不確定除了文本不再是JSON之外,還有其他問題。 – Matt
這只是輸入問題時的錯字,實際上我的代碼中有更多參數。所以我複製粘貼他們幾個。此外,報價也適當關閉。如你的代碼所示,我添加了這裏的字符串頭,但同樣是錯誤:( – Saurabh
你能告訴我一個例子,你傳遞給變量,使JSON的?你可以打印herestring或你的字符串http://jsonlint.com/看看問題出在哪裏,你有一個你現在感覺到的語法錯誤 – Matt