Go invalid character '' in string literal

问题

在socket读取数据后,进行json.Unmarshal时出现invalid character '\x00' in string literal错误.

解决办法

在Unmarshal的时候,切片数据传入读取到的长度

1
2
3
4
5
6
readLenght, err := conn.Read(buffer)
if err != nil {
log.Panic(err)
}
result := cmdModel{}
err := json.Unmarshal(buffer[:readLenght], &result)