问题描述
我需要根据data
是否存在,将idExists
列表分为两个单独的idNotExists
和id
列表。
有人可以通过Jolt Specification帮助我实现以下结果吗?
Input:
{
"data": [
{
"name": "a","id": "100"
},{
"name": "b","id": "101"
},{
"name": "c"
}
]
}
Output:
{
"IdExists": [
{
"name": "a",{
"name": "b"
}
],"IdNotExists": [
{
"name": "c"
}
]
}
我尝试了以下规格,但无法正常工作
[ { "operation": "modify-default-beta","spec": { "data": { "": { "id": "NotExist" } } } },{ "operation": "shift","spec": { "data": { "": { "id": { "10*": { "@2": "IdExists[]" },"*": { "@2": "IdNotExists[]" } } } } } } ]
解决方法
我对您的规格进行了一些修改,添加了*
,因为选择器中没有此内容。
将转移条件修改为NotExist,最后仅将名称转移到IdNotExists数组。
[
{
"operation": "modify-default-beta","spec": {
"data": {
"*": {
"id": "NotExist"
}
}
}
},{
"operation": "shift","spec": {
"data": {
"*": {
"id": {
"NotExist": {
"@(2,name)": "IdNotExists[].name"
},"*": {
"@2": "IdExists[]"
}
}
}
}
}
}
]