Unfortunately, the encoding/jsonpackage cannot be used because type information is not transmitted, and JSON numbers are not tied to the type value by default float64if there is no type information. You will need to define types struct, where you explicitly indicate that this field is of type uint32.
encoding/gob, . . :
m := map[string]interface{}{"1": uint32(1)}
b := &bytes.Buffer{}
gob.NewEncoder(b).Encode(m)
var m2 map[string]interface{}
gob.NewDecoder(b).Decode(&m2)
fmt.Printf("%T\n%#v\n", m2["1"], m2)
( Go Playground):
uint32
map[string]interface {}{"1":0x1}
gob , , JSON.