I need jolt spec for the below input json with dynamic date field and array of items. That jolt spec should convert this input json to below output json.
Input Json:
"market": {
"2024-04-13": [
{
"code": "ABC",
"name": "Name1",
"date": "2024-04-13T00:00:00.000Z",
"rev": 100,
"sold": 1
}
],
"2024-04-14": [
{
"code": "DEF",
"name": "Name2",
"date": "2024-04-14T00:00:00.000Z",
"rev": 233.32,
"sold": 3
},
{
"code": "EFG",
"name": "DISCOUNT",
"date": "2024-04-14T00:00:00.000Z",
"rev": 300.05,
"sold": 1
},
{
"code": "MNO",
"name": "GROUP",
"date": "2024-04-14T00:00:00.000Z",
"rev": 45.33,
"sold": 3
}
],
"2024-04-15": [
{
"code": "POR",
"name": "TEST",
"date": "2024-04-15T00:00:00.000Z",
"rev": 100,
"sold": 1
}
]
}
}
Output json
{
"market": {
"DATE": [
{
"code": "ABC",
"name": "Name1",
"date": "2024-04-13T00:00:00.000Z",
"rev": 100,
"sold": 1
},
{
"code": "DEF",
"name": "Name2",
"date": "2024-04-14T00:00:00.000Z",
"rev": 233.32,
"sold": 3
},
{
"code": "EFG",
"name": "DISCOUNT",
"date": "2024-04-14T00:00:00.000Z",
"rev": 300.05,
"sold": 1
},
{
"code": "MNO",
"name": "GROUP",
"date": "2024-04-14T00:00:00.000Z",
"rev": 45.33,
"sold": 3
},
{
"code": "POR",
"name": "TEST",
"date": "2024-04-15T00:00:00.000Z",
"rev": 100,
"sold": 1
}
]
}
}
The below Jolt spec I tried but it is not giving me exact output. It is grouping first few items, but I need them separately similar like the output json.
Jolt spec
[
{
"operation": "shift",
"spec": {
"market": {
"*": {
"*": {
"code": "market[&1].code",
"name": "market[&1].name",
"date": "market[&1].date",
"rev": "market[&1].rev",
"sold": "market[&1].sold"
}
}
}
}
}
]