Nifi中使用JOLT处理GitHub API返回结果仅保留前两个字段
错误原因
- 你的原始响应是根数组结构,所有用户对象都在数组元素中,你写的JOLT Spec没有匹配数组层级,直接写了对象的键,自然匹配不到规则抛出校验错误
- remove操作的spec规则中,需要删除的字段对应的值统一写空字符串
""即可,你写了"type": "User"、"site_admin": false这种实际值不符合remove操作的语法要求
正确JOLT规则方案
方案1:使用shift操作直接保留需要的login和id字段(更推荐,写法简洁)
[ { "operation": "shift", "spec": { "*": { "login": "[&1].login", "id": "[&1].id" } } } ]
方案2:如果你坚持用remove操作删除多余字段,修正后的写法如下
[ { "operation": "remove", "spec": { "*": { "node_id": "", "avatar_url": "", "gravatar_id": "", "url": "", "html_url": "", "followers_url": "", "following_url": "", "gists_url": "", "starred_url": "", "subscriptions_url": "", "organizations_url": "", "repos_url": "", "events_url": "", "received_events_url": "", "type": "", "site_admin": "" } } } ]
内容的提问来源于stack exchange,提问作者ambrrrgris
相关产品推荐
相关产品推荐

