我正在尝试执行递归映射。
这是我的示例:https://try.jsonata.org/jN2b0Pt2t
在这个简单的复制器中,我试图将带有“名称”,“年龄”和“父母”的原始“人物”重新映射为仅“ n”和“ p”(代表映射的“名称”和“家长”)。
我不知道为什么这不起作用。
如果我在$person($v)
函数中使用$map(..)
,则会收到堆栈溢出错误,因此我知道递归正在发生!
任何帮助表示赞赏。
谢谢
迈克
答案 0 :(得分:0)
问题全是我的;以下映射可以正常工作:
(
$person := function($node) {
$node ~> $map(function($v, $i) {
{"n":$v.Name, "p":$person($v.Parent.Person)}
})
};
{
"Person": Person ~> $person($)
}
)