【发布时间】:2019-11-26 05:57:03
【问题描述】:
我正在将其转换为 JSON 并发送 POST 请求,但 ContextTypes 的值不断转换为字符串。
$postParams = @{
instance=[PSCustomObject]@{
instanceId= $instanceId;
className="Permission";
schemaName="RBAC";
properties= @{
Name= $Name;
Description= $Description;
ServiceGPRId= 1;
CategoryId= 1;
ContextTypes=@('Object')
};
}
} | ConvertTo-Json
返回:
{
"instance": {
"instanceId": null,
"className": "Permission",
"schemaName": "RBAC",
"properties": {
"CategoryId": 1,
"ServiceGPRId": 1,
"Description": null,
"Name": null,
"ContextTypes": "Object"
}
}}
我已经看过其他答案并且也尝试过(@(...)),但它不起作用。出于某种原因,如果我在 properties 对象之外定义相同的名称-值对,它可以正常工作并返回:
{
"instance": {
"instanceId": null,
"className": "Permission",
"schemaName": "RBAC",
"ContextTypes": [
"Object"
],
"properties": {
"CategoryId": 1,
"ServiceGPRId": 1,
"Description": null,
"Name": null
}
}
}
我还尝试使用 -InputObject 方法将其转换为 Json,但结果相同。
如何确保 ContextTypes 仍然是一个数组?
【问题讨论】:
标签: powershell