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

KingswaySoft JSON Source组件:如何在子节点设置父键

KingswaySoft JSON Source 父子结构父键映射解决建议

针对你遇到的子节点无法获取父键的问题,给你几个实用的解决步骤:

  • 先确认父节点主键已设为输出列
    在父节点的ADO.NET映射配置里,必须把父表的主键字段(比如userId)勾选为输出列——这是子节点能继承父键的前提。很多时候容易忽略这一步,导致子节点的字段列表里看不到父键。

  • 正确配置_ParentKeyField选项
    在子节点(roles)的映射界面里,找到_ParentKeyField下拉框,直接选择父节点对应的主键字段(比如父节点的userId)。这个字段是组件自动从父节点继承的关联字段,选择后会自动作为子节点的外键值输出,不需要额外配置。
    如果父节点是复合主键,要确保所有复合键字段都设为输出,再在子节点的_ParentKeyField里选择对应的组合字段。

  • 验证JSON层级与组件路径配置
    先确认你的JSON结构是标准的嵌套父子结构,比如:

    {
      "users": [
        {
          "userId": 1,
          "username": "test",
          "roles": [
            { "roleId": 1, "roleName": "admin" },
            { "roleId": 2, "roleName": "editor" }
          ]
        }
      ]
    }
    

    然后检查JSON Source组件的路径配置,确保子节点roles的JSON Path是相对于父节点users的(比如配置为$.users[*].roles[*]),组件才能正确识别父子层级关联。

  • 用Lookup组件补全父键(备选方案)
    如果上述方法都不生效,可以用Lookup组件兜底:

    1. 先将父节点的数据写入临时表或内存缓存,保留父主键和唯一关联标识(比如父节点的username或者_RowIndex)。
    2. 在子节点的数据流后添加Lookup组件,以子节点能匹配父节点的字段(比如_RowIndex,如果父子行顺序严格对应)为匹配键,查询父表的主键,将父键追加到子节点输出中。
  • 检查Premium ADO.NET列的显示设置
    在子节点的Premium ADO.NET列界面,点击“显示所有列”选项,看看是否有父键字段被默认隐藏。另外要确保父节点主键的数据类型和子节点外键字段的类型完全一致(比如都是int或者string),类型不匹配也会导致无法映射。

内容的提问来源于stack exchange,提问作者M-S

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 14:36:23