It didn’t because the first and second data source that you posted are completely different.
I updated my expression ( the only issue is that with the previous source, the data was on the root level, but on the new source, the data is within the “data” object ), please refer to the expression below:
{}.extend(...$data.entries().map(val => {[val[0]]: val[1].map(v => {}.extend(...v.entries().map(date => date[0].contains("_DATE") && date[1] == null ? {[date[0]]: "0000-00-00"} : {[date[0]]: date[1]} )))}))
Here is the result:
[
{
"data":{
"TIMEDEPENDENTDATA":[
{
"ASSET":"000050",
"SUBNUMBER":"0000",
"FROM_DATE":"1900-01-01",
"TO_DATE":"9999-12-31",
"W_DATE":"0000-00-00",
"X_DATE":"0000-00-00"
}
],
"SELECTIONCRITERIA":[
{
"PARAMETER":"GENERALDATA",
"FIELD":"ASSET",
"SIGN":"I",
"OPTION":"E",
"LOW":"00005000",
"HIGH":""
}
],
"REALESTATE":[
],
"POSTINGINFORMATION":[
{
"ASSET":"0000502",
"SUBNUMBER":"0000",
"C_DATE":"2006-08-31",
"DEACT_DATE":"0000-00-00",
"PLRET_DATE":"0000-00-00",
"PO_DATE":"0000-00-00",
"CAP_KEY":""
}
],
"NETWORTHVAL":[
],
"INVENTORY":[
{
"ASSET":"000050",
"SUBNUMBER":"0000",
"V_DATE":"0000-00-00",
"W_DATE":"0000-00-00"
}
],
"INSURANCE":[
]
}
}
]