json marshal时 []byte的处理

m1 := map[string]interface{}{}

m1["k"] = []byte{'1', '2', '3'}

b,_ := json.Marshal(&m1)

m2 := map[string]interface{}{}

json.Unmarshal(b, &m2)

m2["k"] 是string,[]byte(m2["k"]) 并不等于 []byte{'1', '2', '3'}

解读:

[]byte 在json marshal时会进行base64 encoding处理

你可能感兴趣的:(json marshal时 []byte的处理)