我有一个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对象)保证是唯一的,但这里没有表示这一点的键。输入中的行/条目应对应于输出中的1-1到{ Notification: {...} }
。我应该如何构建我的Jolt Spec来做到这一点?
答案 0 :(得分:1)
不要冒犯或任何事情,但你应该发布你已经尝试过的东西。 无论如何,这里是获得预期输出格式的规范
[
{
"operation": "shift",
"spec": {
"*": "Jobs[].Notification"
}
}
]
我建议你自己尝试重命名这些字段,因为练习JOLT是最好的学习方法
如果您仍然需要帮助,我会为您完成答案。
这里有一些阅读材料Documentation,Slide deck。 你可以从issues page中学到很多东西,Milo Simpson已经解决了大部分问题的查询。