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

XQuery操作JSON:添加数组对象遇XDMP-CHILDDUPNAME错误求助

一步实现向JSON文档根节点添加带数组的新属性

直接构造带名称的节点并插入,无需分两步操作。使用named-node()函数创建指定名称的属性节点,其值设为目标数组节点,再通过xdmp:node-insert-child()插入到根对象节点即可:

xdmp:node-insert-child(
  $doc/object-node(),
  named-node("A", array-node{"B", "C"})
)

错误原因解析

你之前的代码错误在于从临时创建的object-node中提取子节点(/ConfiscatedItems)再插入,这种方式会导致节点上下文处理异常,触发XDMP-CHILDDUPNAME错误。直接构造独立的named-node可以避免该问题,因为它明确指定了属性名称和对应的值节点,插入时会直接作为新属性添加到目标JSON对象中。

验证效果

执行上述代码后,示例文档会被修改为:

{
   "f": "g",
   "h": 1,
   "q": [ 1, 2 ],
   "A": [ "B", "C" ]
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 00:22:39