I need to traverse the below and form the final output with an additional set of values added in the same JSON model. Please help me how to add as the data contains recursively.
Order of Keys should not be modified. The final output should be the same format. I would like to deserialize this JSON into some classes, update the some more data and then later serialize it back to JSON. How can we do it?
Read from Json File: Input:
{
"id" : "abv.123",
"developName" : "ABV.123",
"pay25" : {
"0" : {
"data" : "group35",
"divison" : 0,
"pay25" : {
"0" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "name33"
}
}
},
"1" : {
"data" : "group35",
"divison" : 0,
"pay25" : {
"0" : {
"data" : "group35",
"divison" : 0,
"pay25" : {
"0" : {
"data" : "label",
"divison" : 0,
"text" : "name55",
"color1" : "green"
}
}
},
"1" : {
"data" : "group35",
"divison" : 0,
"pay25" : {
"0" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "fab125"
},
"1" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "gbt333"
},
"2" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "test53"
},
"3" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "test55"
},
"4" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "teds422"
},
"5" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "test66"
},
"6" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "test982"
},
"7" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "test322"
},
"8" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "test633"
},
"9" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "test622"
},
"10" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "test733"
},
"11" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "test71"
}
}
}
}
},
"2" : {
"data" : "group35",
"divison" : 0,
"pay25" : {
"0" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "test9134234",
"deps1" : [ {
"datadiv123" : [ "1", "2" ],
"value" : true
} ]
},
"1" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "test898932"
},
"2" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "tewst432"
}
}
},
"3" : {
"data" : "group35",
"divison" : 0,
"pay25" : {
"0" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "test352322",
"deps1" : [ {
"datadiv123" : [ "test", "tesstt" ],
"value" : true
} ]
},
"1" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "test523432"
},
"2" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "test634fdg"
},
"3" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "tssg32432",
"validators" : [ {
"data" : "integer"
} ]
},
"4" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "test1111"
},
"5" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "test2222"
}
}
},
"4" : {
"data" : "group35",
"divison" : 0,
"pay25" : {
"0" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "test55632"
}
}
},
"5" : {
"data" : "dynamicgrouptable",
"operation" : [ "add", "delete" ],
"dynamicValue" : {
"0" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "test953312"
},
"1" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "test953312622"
},
"2" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "test9533126499"
},
"3" : {
"data" : "divisiondata",
"divison" : 0,
"divName" : "test953312644"
}
}
}
}
}
Read the additional set of values from this JSON:
{
"name33": {
"def1": "Value 1",
"tip3": "Tip 53",
"disp3": "develop 1",
"path" : "Displayname"
},
"fab125": {
"def1": "Value 5",
"tip3": "strr11",
"disp3": "develop 2",
"path" : "Displayname"
},
"test322": {
"def1": "Value 2",
"tip3": "dev 53",
"disp3": "develop 3",
"path" : "Displayname"
},
{....},
{.....},
"test953312": {
"def1": "Value 21",
"tip3": "dev 5311",
"disp3": "develop 334",
"path" : "Displayname"
},
"test953312622": {
"def1": "Value 212",
"tip3": "dev 53222",
"disp3": "develop 22113",
"path" : "Displayname"
},
{....}
}
The output should be merged with both json without changing the order of data: