json.unmarshal() - return 无
json.unmarshal() - return nil
我从 base(由 json.Marshal 制作的切片)中获取一个字节的正常切片并尝试解码它们,但是 json.unmarshal() - return nil
代码:
coded := redis.LoadFromBase()
uncoded := json.Unmarshal(coded, &p)
fmt.Println("Bytes:", coded)
fmt.Println("Unmarshalled:", uncoded)
返回:
Bytes: [123 34 84 105 116 108 101 34 58 34 97 34 44 34 67 111 110 116 101 110 116 34 58 34 98 34 125]
Unmarshalled: <nil>
LoadFromBase() 工作正常
您正在打印 json.Unmarshal
返回的错误,而不是实际的解码值。现在是 nil
所以一切都很好。
应该是:
coded := redis.LoadFromBase()
err := json.Unmarshal(coded, &p)
if (err != nil) {
// handle error here
}
fmt.Println("Bytes:", coded)
fmt.Println("Unmarshalled:", p)
我从 base(由 json.Marshal 制作的切片)中获取一个字节的正常切片并尝试解码它们,但是 json.unmarshal() - return nil
代码:
coded := redis.LoadFromBase()
uncoded := json.Unmarshal(coded, &p)
fmt.Println("Bytes:", coded)
fmt.Println("Unmarshalled:", uncoded)
返回:
Bytes: [123 34 84 105 116 108 101 34 58 34 97 34 44 34 67 111 110 116 101 110 116 34 58 34 98 34 125]
Unmarshalled: <nil>
LoadFromBase() 工作正常
您正在打印 json.Unmarshal
返回的错误,而不是实际的解码值。现在是 nil
所以一切都很好。
应该是:
coded := redis.LoadFromBase()
err := json.Unmarshal(coded, &p)
if (err != nil) {
// handle error here
}
fmt.Println("Bytes:", coded)
fmt.Println("Unmarshalled:", p)