工作中遇到的问题,如何将两个json格局的数据合并成同一个,浅记一下,原理就是

  1. 先将两个JSON格局的字符串别离序列化成[]byte
  2. 而后返序列化到map[string]interface{},实现起映射关系
  3. 最初序列化该map,将序列化的值转换成string类型
package mainimport (    "encoding/json"    "fmt")type S struct {    A uint32 `json:"a"`    B string `json:"b"`    C uint32 `json:"c"`}type S1 struct {    B string `json:"b"`    C uint32 `json:"c"`    D uint32 `json:"d"`}func main() {    //json格局的数据1    s := S{        A: 12,        C: 2,    }        //json格局的数据2    s1 := S1{        B: "123",        C: 99999,        D: 10,    }    //接下来的指标:合并两个JSON字符串    js, _ := json.Marshal(s)    js1, _ := json.Marshal(s1)        var m map[string]interface{}    json.Unmarshal(js, &m)    json.Unmarshal(js1, &m)    fmt.Println(m)    res, _ := json.Marshal(m)    fmt.Println(string(res)) // {"a":12,"b":"123","c":99999,"d":10}}