在我的Nifi数据流中,我try 使用Jolt处理器过滤和转换JSON,所以我对此非常陌生.
我的输入JSON是
[
{
"id": "1cca9371-b0f2-4c4d-9028-cd534edfecc9",
"code": "X00615",
"url": "https://acme.com.az/043f00e8-7db8-4cab-bc1d-5a39b0a89882"
},
{
"id": "4dcacd3d-dbc8-424d-8f13-46706322a4d3",
"code": "X01337"
},
{
"id": "d5d86231-3180-4436-867b-6889ae7bd80a",
"code": "X02732",
"url": "https://acme.com.az/32853ca4-309c-462b-afc4-b56fd4788e8d"
}
]
我的预期输出JSON是
[
{
"id": "1cca9371-b0f2-4c4d-9028-cd534edfecc9",
"code": "X00615",
"url": "https://acme.com.az/043f00e8-7db8-4cab-bc1d-5a39b0a89882"
},
{
"id": "d5d86231-3180-4436-867b-6889ae7bd80a",
"code": "X02732",
"url": "https://acme.com.az/32853ca4-309c-462b-afc4-b56fd4788e8d"
}
]
因此,我想删除缺少url
条目的元素,或者换句话说,只保留以http
开头的值为url
的元素.
我可以只获取数组中的url
个元素,使用
[
{
"operation": "shift",
"spec": {
"*": {
// "id": "[&1].id", // array grows
// "code": "[&1].code", // array grows
"url": {
"htt*": {
"$": "[].&2"
}
}
}
}
}
]
但是,当我try 包括其他属性/值时,数组增长到4个元素,而不是2个.