I want to do JSON to JSON Transformation by using JOLT Spec. I have the input which is the Flattern JSOn and i want to covert it into Nested JSOn. I have written the JOLT Spec for this and it mentioned below. But it does not give me the desired output as expected.
This is my input Json
{
"gsiOrderNumber" : "1234567890",
"orderType" : "PULL",
"enteredDate" : "20200513021720",
"customerFacilityCode" : "WK",
"customerCode" : "Y302",
"preferredWarehouseId" : "MWLC",
"warehouseId" : "MWLC",
"dtCode" : "DT",
"customerPoNumber" : "PO123",
"customerPoType" : "POType",
"rushFlag" : "1",
"esoNumber" : "SZXMF00",
"serialNumber" : "CP900324",
"mitSect" : "39704",
"mitAccNo" : "1023",
"mitOrderNumber" : "36560",
"mitRemarks" : "MIT/41 UPSGRND",
"mitPriorityIndicator" : "Y",
"mitBillingFacility" : "12345",
"OrderDetail" : [ {
"gsiOrderNumber" : "000001234567890",
"orderLineNumber" : "225266301",
"partNumber" : "9780312606121",
"orderQuantity" : "4",
"exactQuantityFlag" : "F",
"earlyShipDate" : "20200513021720",
"lateShipDate" : "20200513021720",
"orderMethod" : "P",
"deliverToDockBuilding" : "H",
"deliverToDockArea" : "H",
"deliverToBuilding" : "H",
"deliverToArea" : "07D",
"deliverToCoordinates" : "H07DBR1702",
"deliverToDropZoneBuilding" : "HZ",
"deliverToDropZoneArea" : "HZ",
"jitCallNumber" : "1234",
"kanbanNumber" : "1234",
"startOnLineDate" : "20200513021720",
"buildDate" : "20200513021720",
"transactionNumber" : "1234101"
}, {
"gsiOrderNumber" : "000001234567890",
"orderLineNumber" : "225266301",
"partNumber" : "9780312606121",
"orderQuantity" : "4",
"exactQuantityFlag" : "F",
"earlyShipDate" : "20200513021720",
"lateShipDate" : "20200513021720",
"orderMethod" : "P",
"deliverToDockBuilding" : "H",
"deliverToDockArea" : "H",
"deliverToBuilding" : "H",
"deliverToArea" : "07D",
"deliverToCoordinates" : "H07DBR1702",
"deliverToDropZoneBuilding" : "HZ",
"deliverToDropZoneArea" : "HZ",
"jitCallNumber" : "1234",
"kanbanNumber" : "1234",
"startOnLineDate" : "20200513021720",
"buildDate" : "20200513021720",
"transactionNumber" : "1234101"
} ]
}
Desired Output
{
"OrderInfo": [
{
"OrderHeader": {
"gsiOrderNumber": "1234567890",
"orderType": "PULL",
"enteredDate": "20200513021720",
"customerFacilityCode": "WK",
"customerCode": "Y302",
"preferredWarehouseId": "MWLC",
"warehouseId": "MWLC",
"dtCode": "DT",
"customerPoNumber": "PO123",
"customerPoType": "POType",
"rushFlag": "1",
"esoNumber": "SZXMF00",
"serialNumber": "CP900324",
"mitSect": "39704",
"mitAccNo": "1023",
"mitOrderNumber": "36560",
"mitRemarks": "MIT/41 UPSGRND",
"mitPriorityIndicator": "Y",
"mitBillingFacility": "12345"
},
"OrderDetail": [
{
"gsiOrderNumber": "000001234567890",
"orderLineNumber": "225266301",
"partNumber": "9780312606121",
"orderQuantity": "4",
"exactQuantityFlag": "F",
"earlyShipDate": "20200513021720",
"lateShipDate": "20200513021720",
"orderMethod": "P",
"deliverToDockBuilding": "H",
"deliverToDockArea": "H",
"deliverToBuilding": "H",
"deliverToArea": "07D",
"deliverToCoordinates": "H07DBR1702",
"deliverToDropZoneBuilding": "HZ",
"deliverToDropZoneArea": "HZ",
"jitCallNumber": "1234",
"kanbanNumber": "1234",
"startOnLineDate": "20200513021720",
"buildDate": "20200513021720",
"transactionNumber": "1234101"
},
{
"gsiOrderNumber": "000001234567890",
"orderLineNumber": "225266301",
"partNumber": "9780312606121",
"orderQuantity": "4",
"exactQuantityFlag": "F",
"earlyShipDate": "20200513021720",
"lateShipDate": "20200513021720",
"orderMethod": "P",
"deliverToDockBuilding": "H",
"deliverToDockArea": "H",
"deliverToBuilding": "H",
"deliverToArea": "07D",
"deliverToCoordinates": "H07DBR1702",
"deliverToDropZoneBuilding": "HZ",
"deliverToDropZoneArea": "HZ",
"jitCallNumber": "1234",
"kanbanNumber": "1234",
"startOnLineDate": "20200513021720",
"buildDate": "20200513021720",
"transactionNumber": "1234101"
}
]
}
]
}
JOLT spec i am using following
[
{
"operation": "shift",
"spec": {
"*": {
"*": "&"
}
}
}
]
But the desired output i am not getting. Please can anyone help me out on this?
Thanks in advance....