類似這個CA如果實例轉化成json.List會變成字符串.
type CA struct {
List []uint8
}
func main() {
ca := CA{[]uint8{1,2,3,4,5,6,7,8,9,0}}
r, _ := json.Marshal(ca)
fmt.Println(string(r)) //{"List":"AQIDBAUGBwgJAA=="}
}
而我們希望的是要一個正常的json. 只有 int8 byte uint8 這種8位的json庫會給我們當成字符串處理.想要解決.如果拍腦袋就不能用這幾種類型了.需要使用16 32 64位的數字纔可以正常轉換成json字符串.
{"List":[1,2,3,4,5,6,7,8,9,0]}
但是不用擔心. Unmarshal這個 我們認爲不想要的json字符串 重新到CA的其他實例 會得到想要的結果.
.如果是跨語言的json通信就要小心了.