powershell - 如何正确格式化 PSObject 以传递给 InvokeRest 方法的 PUT 方法
问题描述
下面是我需要传递给 API 的键值对。不知道我哪里错了
$Body = @{
hostName = 'null'
hostOperatingSystem = 0
optionalFilter1 = 'null'
optionalFilter2 = 'null'
description = 'null'
serviceName = "ServiceManager.Logging"
sectionName = "Services"
signature = 'null'
value = @( @{
Services = @( @{
FullPath = "..\Service\MicroService.exe"
InstanceCount = 2
})
})
} | ConvertTo-Json -Depth 4
$Response = Invoke-RestMethod -Uri $URI -Method PUT -Headers $Headers -Body $Body -ContentType 'application/json'
下面是我得到的错误
Invoke-RestMethod : {"":["JsonToken EndArray is not valid for closing JsonType Object. Path '', line 14, position 15."],"value":["Unexpected character encountered while parsing value: [. Path 'value', line 5, position 15."]}
解决方案
$Body = @{
hostName = '';
hostOperatingSystem = 0;
optionalFilter1 = '';
optionalFilter2 = '';
description = '';
serviceName = "ServiceManager.Logging";
sectionName = "Services";
signature = 'null';
value = '{"Services": [{"Fullpath":"..\\MicroService.exe","InstanceCount": 2}]}'
} | ConvertTo-Json -Depth 10
这是正确的格式
推荐阅读
- c++ - 结合静态和动态多态的工厂方法
- javascript - Vue:未捕获的参考:未定义函数
- swiftui - 尝试创建多屏流时,SwiftUI“推送”NavigationView/NavigationLink 不起作用
- function - 如何在帕斯卡中看到 VMT?
- python - 在 Discord Python 中等待后台反应
- c# - 添加谷歌插件后版本更改时 Unity Gradle 构建失败
- powershell - 返回值时如何避免捕获标准输出
- google-api - 谷歌 API 被黑
- latex - 从同一个tex文件创建多个pdf文件
- java - 动态绘制虚线以适应调整大小的 JPanel