0

我正在尝试执行递归映射。

这是我的例子:https ://try.jsonata.org/jN2b0Pt2t

我在这个简单的复制器中,试图将带有“姓名”、“年龄”和“父母”的原始“人”重新映射为“n”和“p”(代表映射的“姓名”和“父母” )。

我无法弄清楚为什么这不起作用。

如果我$person($v)$map(..)函数中使用,我会得到一个堆栈溢出错误,所以我知道递归正在发生!

任何帮助表示赞赏。

谢谢,

麦克风

4

1 回答 1

0

问题都是我的;以下映射工作正常:

(
    $person := function($node) {
        $node ~> $map(function($v, $i) {
            {"n":$v.Name, "p":$person($v.Parent.Person)}
        })
    };

{
    "Person": Person ~> $person($)
}
)
于 2020-06-16T12:58:25.400 回答