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 已经解决了您的大部分问题。
我有一个 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 已经解决了您的大部分问题。