JOLT 删除除前两个字段之外的所有字段
JOLT remove all but first two fields
尝试在 Nifi 中使用 JOLT 从 API 调用中删除一些字段,但无法使其正常工作。以下是 GitHub API:
返回的内容
[
{
"login": "sample name",
"id": "000001",
"node_id": "ID#",
"avatar_url": "RETURNED_URL",
"gravatar_id": "",
"url": "RETURNED_URL",
"html_url": "RETURNED_URL",
"followers_url": "RETURNED_URL",
"following_url": "RETURNED_URL",
"gists_url": "RETURNED_URL",
"starred_url": "RETURNED_URL",
"subscriptions_url": "RETURNED_URL",
"organizations_url": "RETURNED_URL",
"repos_url": "RETURNED_URL",
"events_url": "RETURNED_URL",
"received_events_url": "RETURNED_URL",
"type": "MEMBER_TYPE",
"site_admin": false
},
...
}
]
这是我的 JOLT 规范,它引发了错误:
[
{
"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": "User",
"site_admin": false
}
}
]
返回了大约 70 个结果,我需要它为每个结果执行此操作。 None 其中有一个更高级别的密钥,所以我认为是这样,但我尝试过的一切似乎都抛出 " is invalid because Specification not valid for the selected transformation
相反或删除一长串字段,您可以只选择您需要的字段。在您的情况下,您可以像这样使用 Jolt Spec:
[
{
"operation": "shift",
"spec": {
"*": {
"login": "[&1].login",
"id": "[&1].id"
}
}
}
]
您也可以使用this jolt demo site to check yourself. This is how i checked it:
尝试在 Nifi 中使用 JOLT 从 API 调用中删除一些字段,但无法使其正常工作。以下是 GitHub API:
返回的内容[
{
"login": "sample name",
"id": "000001",
"node_id": "ID#",
"avatar_url": "RETURNED_URL",
"gravatar_id": "",
"url": "RETURNED_URL",
"html_url": "RETURNED_URL",
"followers_url": "RETURNED_URL",
"following_url": "RETURNED_URL",
"gists_url": "RETURNED_URL",
"starred_url": "RETURNED_URL",
"subscriptions_url": "RETURNED_URL",
"organizations_url": "RETURNED_URL",
"repos_url": "RETURNED_URL",
"events_url": "RETURNED_URL",
"received_events_url": "RETURNED_URL",
"type": "MEMBER_TYPE",
"site_admin": false
},
...
}
]
这是我的 JOLT 规范,它引发了错误:
[
{
"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": "User",
"site_admin": false
}
}
]
返回了大约 70 个结果,我需要它为每个结果执行此操作。 None 其中有一个更高级别的密钥,所以我认为是这样,但我尝试过的一切似乎都抛出 " is invalid because Specification not valid for the selected transformation
相反或删除一长串字段,您可以只选择您需要的字段。在您的情况下,您可以像这样使用 Jolt Spec:
[
{
"operation": "shift",
"spec": {
"*": {
"login": "[&1].login",
"id": "[&1].id"
}
}
}
]
您也可以使用this jolt demo site to check yourself. This is how i checked it: