如何在数组中使用 JSONata $lookup()?
How to use JSONata $lookup() inside an array?
我正在尝试使用辅助映射 table 来翻译 属性 内容。
“Phone”是数据,“aux”是具有映射 table.
的对象
{
"Phone": [
{
"type": "home",
"number": "0203 544 1234"
},
{
"type": "office",
"number": "01962 001234"
},
{
"type": "office",
"number": "01962 001235"
},
{
"type": "mobile",
"number": "077 7700 1234"
}
],
"aux" : {
"home" : "casa",
"office" : "escritório",
"mobile" : "celular"
}
}
$lookup 似乎很合适,我编写了以下 JSONata 代码
{
"Telefone" : Phone.{
"tipo" : $lookup(aux, type),
"numero" : number
},
"tipo" : $lookup(aux, Phone[0].type)
}
数组内部的“tipo”不起作用,但在外部,对于任何特定的数组成员似乎都可以正常工作。
{
"Telefone": [
{
"numero": "0203 544 1234"
},
{
"numero": "01962 001234"
},
{
"numero": "01962 001235"
},
{
"numero": "077 7700 1234"
}
],
"tipo": "casa"
}
我错过了什么?
谢谢
我刚发现问题。
我应该使用根来引用映射table,例如
"tipo" : $lookup($$.aux, type),
我正在尝试使用辅助映射 table 来翻译 属性 内容。 “Phone”是数据,“aux”是具有映射 table.
的对象{
"Phone": [
{
"type": "home",
"number": "0203 544 1234"
},
{
"type": "office",
"number": "01962 001234"
},
{
"type": "office",
"number": "01962 001235"
},
{
"type": "mobile",
"number": "077 7700 1234"
}
],
"aux" : {
"home" : "casa",
"office" : "escritório",
"mobile" : "celular"
}
}
$lookup 似乎很合适,我编写了以下 JSONata 代码
{
"Telefone" : Phone.{
"tipo" : $lookup(aux, type),
"numero" : number
},
"tipo" : $lookup(aux, Phone[0].type)
}
数组内部的“tipo”不起作用,但在外部,对于任何特定的数组成员似乎都可以正常工作。
{
"Telefone": [
{
"numero": "0203 544 1234"
},
{
"numero": "01962 001234"
},
{
"numero": "01962 001235"
},
{
"numero": "077 7700 1234"
}
],
"tipo": "casa"
}
我错过了什么? 谢谢
我刚发现问题。 我应该使用根来引用映射table,例如
"tipo" : $lookup($$.aux, type),