I have a large json file with multiple levels of nesting. Now I need to modify the value of each key in this file with the Go code. I know of two methods: **the first** is to obtain each key and then modify its value, but there is no doubt that this method is too complicated and prone to errors. **The second** method is to serialize the entire json file into a struct, then modify the struct field, and then deserialize it. However, this case needs to define a struct of several hundred lines, which is also very complicated.

Is there any other way?

for example my json is like this, but more bigger, 100+ lines :

```
{
    "user": [{
        "cdb_id":"",
        "firstname":"Tom",
        "lastname":"Bradley",
        "phone":14155555555,
        "email":"tom@gmail.com",
        "address":[{
            "street":"4343 shoemaker ave",
            "city":"Brea",
            "zip":"92821",
            "country":"USA"
        }],
        "authenticators":[{
            "name":"Lisa Hayden",
            "phone":15625555555
        },{
            "name":"Pavan M",
            "phone":17145555555
        }],
        "voice_sig":"242y5-4546-555kk54-437879ek545",
        "voicesig_created_time":"2017-08-02T21:27:44+0000",
        "status":"verified"
    }]
}

```

I need modify "cdb\_id"/"lastname"/"street"/"phone"/ "voice\_sig".....all these keys' value, Except make a struct or get the keys' value one by one and modify, do i have any other way?

**The new values for those keys will be POST request from Web Pages.**