我需要使用特定格式的主体执行 Invoke-Webrequest 以将设备添加到产品。这是它在 json 中的样子(直接来自供应商文档的示例):
$body_json = '{"datasource": [{
"parentId": "123456789000",
"name": "(name)",
"id": "(value)",
"typeId": 0,
"childEnabled": false,
"childCount": 0,
"childType": 0,
"ipAddress": "(ipAddress)",
"zoneId": 0,
"url": "(url)",
"enabled": false,
"idmId": 123456789000,
"parameters": [{
"key": "(key)",
"value": "(value)"
}]
}]}'
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试在其 json 表示中提交此文件时,出现以下错误:
Invoke-WebRequest :无法从 START_ARRAY 令牌中反序列化 com.vendor.etc.DataSourceDetail 的实例 [来源:java.io.StringReader@22c614; 行:1,列:1] 在 C:\powershell_script_location\ps.ps1:114 char 9 + $request = Invoke-WebRequest $url -Method Post -Headers $headers -Body $body_json - ... +~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException +fullyQualifiedErrorId …