You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ConvertTo-Json函数异常:ancestors字段内容冗余问题

问题原因及解决方法

核心原因

你写的ancestors = {@{"id" = "$ConfluencePageId"}}里,外层的{}是PowerShell的脚本块(ScriptBlock),不是数组定义。ConvertTo-Json处理脚本块时,会把它的内部元数据(比如脚本内容、作用域信息等)一并序列化,这就导致了冗余内容的出现。

PowerShell里定义数组的正确语法是用@()包裹元素,而非{}。

修正后的代码

把ancestors的定义改成数组格式即可:

$body = @{
    "type" = "page"
    "title" = "$Title"
    "ancestors" = @(@{"id" = "$ConfluencePageId"})
    "space" = @{"key" = "$ConfluenceSpace"}
    "body" = @{"storage" = @{"representation" = "storage";"value" = "$Page"}}
} | ConvertTo-Json

补充说明

如果需要在ancestors数组里添加多个元素,只需在@()内用逗号分隔哈希表:

"ancestors" = @(@{"id" = "pageId1"}, @{"id" = "pageId2"})

内容的提问来源于stack exchange,提问作者Re1ter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 11:17:02