Let's say I have the following JSON:
{
"doc": {
"left_margin": 2,
"right_margin": 2,
"receipt": {
"emptyLine": "",
"id": 133,
"name": "depositOnline",
"line": [{
"dataItem": [{
"ref": "depositAmount",
"label": "receipt.deposit.amountLabel"
}, {
"ref": "currency"
}]
}, {
"dataItem": [{
"ref": "depositCustomerName",
"label": "transfer.confirm.name"
}, {
"ref": "currency"
}]
}],
"dataItem": [{
"text": "receipt.deposit.explanationDone"
}, {
"ref": "depositNumber",
"label": "receipt.deposit.numberLabel.deposit"
}, {
"ref": "depositResolve"
}],
"portion": [{
"id": 1
}, {
"id": 4
}, {
"id": 5
}, {
"id": 2
}]
},
"portion": [{
"id": 1,
"lineFiller": {
"char": "-"
},
"align": "center",
"name": "header",
"line": {
"dataItem": [{
"ref": "date"
}, {
"ref": "time"
}, {
"ref": "trace",
"label": "traceLabel"
}]
},
"dataItem": [{
"ref": "bankName",
"print_type": "bold"
}, {
"ref": "terminalName"
}, {
"ref": "terminalId"
}, {
"ref": "receiptTitle"
}]
}, {
"id": 2,
"lineFiller": {
"char": "-"
},
"name": "footer",
"dataItem": {
"ref": "motto"
}
}, {
"id": 4,
"name": "cardNumber",
"dataItem": {
"ref": "cardNumber",
"label": "cardNumberLabel"
}
}, {
"id": 5,
"name": "rrnNumber",
"dataItem": {
"ref": "rrn",
"label": "rrnLabel"
}
}]
}
}
I want to find all the portion keys in this JSON and replace their bodies in receipt keys with portion definitions. Is there a function for something like this? I tried some solutions myself, I wrote a recursive method but it did not work. Could anybody give me an idea on how to do it?