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: