I have a nested JSON object which is of the format
[{
firstLevelKey1 : [{
dataType : 'String'
},{
value : 'someString'
},{
someKey : 'someValue'
}]
},{
firstLevelKey2:[{
dataType : 'Object'
},{
value : [{
secondLevelKey1 :[{
dataType : 'String'
},{
value : 'someString'
},{
someKey : 'someValue'
}]
},{
secondLevelKey2 : [{
dataType : 'Object'
},{
value : [{
thirdLevelKey1:[{
dataType : 'String'
},{
value : 'someString'
},{
someKey : 'someValue'
}]
},{
thirdLevelKey2 : [{
dataType : 'String'
},{
value : 'someString'
},{
someKey : 'someValue'
}]
},{
thirdLevelKey3 : [{
dataType : 'String'
},{
value : 'someString'
},{
someKey : 'someValue'
}]
}]
},{
someKey : 'someValue'
}]
},{
secondLevelKey3 :[{
dataType : 'String'
},{
value : 'someString'
},{
someKey : 'someValue'
}]
}]
},{
someKey : 'someValue'
}]
},{
firstLevelKey3 : [{
dataType : 'String'
},{
value : 'someString'
},{
someKey : 'someValue'
}]
}]
for easier understanding this is an array of objects, in each object, the value of key is again an array of 3 objects, of which first tells the dataType and there is value in the second object, and some other keys in third object.
If the dataType is Object then the second object which has the key property called value will have again array of objects repeating the procedure.
I am able to flatten and the flattened object is like
[{
firstLevelKey1 : [{
dataType : 'String'
},{
value : 'someString'
},{
someKey : 'someValue'
}]
},{
secondLevelKey1 : [{
dataType : 'String'
},{
value : 'someString'
},{
someKey : 'someValue'
}]
},{
thirdLevelKey1 : [{
dataType : 'String'
},{
value : 'someString'
},{
someKey : 'someValue'
}]
},{
thirdLevelKey2 : [{
dataType : 'String'
},{
value : 'someString'
},{
someKey : 'someValue'
}]
},{
thirdLevelKey3 : [{
dataType : 'String'
},{
value : 'someString'
},{
someKey : 'someValue'
}]
},{
secondLevelKey3 : [{
dataType : 'String'
},{
value : 'someString'
},{
someKey : 'someValue'
}]
},{
firstLevelKey3 : [{
dataType : 'String'
},{
value : 'someString'
},{
someKey : 'someValue'
}]
}]
but now firstLevelKey2 property name and secondLevelKey2 name are lost
is there a way to store the names so that while mapping back i can know how to nest them back in the same format how i recieved it ? like for example in this format
[{
firstLevelKey1 : [{
dataType : 'String'
},{
value : 'someString'
},{
someKey : 'someValue'
}]
},{
firstLevelKey2#secondLevelKey1 : [{
dataType : 'String'
},{
value : 'someString'
},{
someKey : 'someValue'
}]
},{
firstLevelKey2#secondLevelKey2#thirdLevelKey1 : [{
dataType : 'String'
},{
value : 'someString'
},{
someKey : 'someValue'
}]
},{
firstLevelKey2#secondLevelKey2#thirdLevelKey2 : [{
dataType : 'String'
},{
value : 'someString'
},{
someKey : 'someValue'
}]
},{
firstLevelKey2#secondLevelKey2#thirdLevelKey3 : [{
dataType : 'String'
},{
value : 'someString'
},{
someKey : 'someValue'
}]
},{
firstLevelKey2#secondLevelKey3 : [{
dataType : 'String'
},{
value : 'someString'
},{
someKey : 'someValue'
}]
},{
firstLevelKey3 : [{
dataType : 'String'
},{
value : 'someString'
},{
someKey : 'someValue'
}]
}]
any help would be very appreciated.Thanks!