golang json字符串合并操作
- 2020 年 4 月 8 日
- 筆記
用于两个json格式的字符串合并,当B向A合并时,共有的字段,将用B字段的值(伴随类型一起覆盖),非共有的,A的字段保留,B的字段新增。
example代码:
package main import ( "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() { s := S{ A: 12, C: 2, } s1 := S1{ B: "123", C: 99999, D: 10, } js, _ := json.Marshal(s) js1, _ := json.Marshal(s1) var m map[string]interface{} json.Unmarshal(js, &m) json.Unmarshal(js1, &m) res, _ := json.Marshal(m) fmt.Println(string(res)) // {"a":12,"b":"123","c":99999,"d":10} }
ref:https://stackoverrun.com/cn/q/11154146