1-1 JSON 对象在 Jolt 中的映射(没有唯一键标识符)

1-1 Mapping (with no unique key identifier) of JSON object in Jolt

我有一个 JSON 对象的列表,从 SQL 查询的结果转换而来。 JSON 看起来像这样:

[ {
        "CREATE_DATE_TIME" : "2018-02-04 11:00:03.0",
        "EXTERNAL_ID" : "1111",
        "CERT_NUMBER" : "123",
        "DESCRIPTION" : "DESC 1",
        "SOURCE_SYSTEM" : "WOULDIWAS"
    }, {
        "CREATE_DATE_TIME" : "2018-03-01 11:25:03.0",
        "EXTERNAL_ID" : "2222",
        "CERT_NUMBER" : "456",
        "DESCRIPTION" : "DESC 2",
        "SOURCE_SYSTEM" : "SHOOKSPEARE"
    }, 
    ... 
]

JSON 转换后的输出应该是这样的:

{
    "Jobs": [
        {
            "Notification": {
                "ActivityDate" : "2018-02-04 11:00:03.0",
                "ExternalId" : "1111",
                "CertNum" : "123",
                "Description" : "DESC 1",
                "SourceSystem" : "WOULDIWAS",
                "RecordType" : "Task Notification"
            }, {
            "Notification": {   
                "ActivityDate" : "2018-03-01 11:25:03.0",
                "ExternalId" : "2222",
                "CertNum" : "456",
                "Description" : "DESC 2",
                "SourceSystem" : "SHOOKSPEARE",
                "RecordType" : "Task Notification"
            }, 
        ... 
    ]
}

(RecordType 是文字字符串,不是从输入派生的 JSON)

输入 JSON 中的每一行/条目(JSON 包含在 {} 中的对象)保证是唯一的,但这里没有键可以表明这一点。输入中的行/条目应对应输出中的 { Notification: {...} } 1-1。我应该如何构建我的 Jolt 规格来执行此操作?

不要听起来冒犯什么的,但你应该发布你已经尝试过的东西。 无论如何,这是获得预期输出格式的规范

[ { "operation": "shift", "spec": { "*": "Jobs[].Notification" } } ]

我建议您尝试自己重命名字段,因为练习 JOLT 是最好的学习方法

如果您还需要帮助,我会为您完成解答。

这里有一些读物 material Documentation, the Slide deck。 您可以从 issues page 那里学到很多东西,Milo Simpson 已经解决了您的大部分问题。