2

Informatica CAI 内部发生了以下问题。在这里,我只能访问 Xquery 来编辑变量和构造数据。

我正在尝试将 JSON 的属性名称映射到数字。这个问题的一个可读示例是输入/临时/输出变量 $json

等于

{
   "Person":
   {
      "Name": "Jerry",
      "Age": "42"
   }
}

和一个临时变量 $MapTable

{
   "Name": "3456_1",
   "Age": "3456_2"
}    

尝试使用 Xquery 映射 $MapTable 中的数字以代替 $json 中的“姓名”和“年龄”时,我收到“无效的元素名称。无效的 QName {3456_1}”错误。”我相信这是由于XML 名称规定。

有谁知道解决这个问题的方法,所以我最终可以得到 $json 等于

{
   "Person":
   {
       "3456_1": "Jerry",
       "3456_2": "42"
   }
}

注意:我在 Informatica 的云应用程序集成论坛上发布了相同的问题。

4

1 回答 1

0

而不是以正确的 json 属性名称结束,我可以使用 xquery 生成一个 json,例如 { "Person": { "__3456_1": "Jerry", "__3456_2": "42" } } 双下划线前缀允许informatica 不会崩溃。然后我们可以在保存 json 的变量上使用函数“fn:replace”来删除他的双下划线:fn:replace("__",""),留下我们想要的 JSON。

这不是我的问题的完美解决方案,因为从一个 json 映射到另一个 json 的脚本仍未创建。

于 2020-08-24T05:53:01.810 回答