i have two objects, a master and a temp the master looks like
{
    "gnome":{
        "child":{
            name:"child",
            race:"gnome"
        },
        "youngling":{
            name:"youngling",
            race:"gnome"
        }
    },
    "human":{...},
    ...
}
and the temp looks like
{
    "gnome":{
        "man":{
            name:"man",
            race:"gnome"
        }
}
what i am trying to do is have the temp be added to the master like
{
    "gnome":{
        "child":{...},
        "youngling":{...},
        "man":{...}
    },
    "human":{...},
    ...
}
what i currently have
let obj = {}
function generateJson() {
        let race = getinput("race").value
        let name = getinput("name").value
        let temp = {}
        temp[`${race}`] = {}
        temp[`${race}`][`${name}`] = {
            name: name,
            race: race
        }
        obj = Object.assign(obj, temp)
}
all it does is empties and override the first duplicate key with the temp value
a.e. {gnome:{man:{..}}}
earlier this question was closed because it should have been awnsered with How can I merge properties of two JavaScript objects dynamically? which sadly it didn't, all of the solutions override objects within objects, i want to add to similar keys
 
     
    