我有一个图像数据结构
type ImageData struct {
Name string
Data []byte
}
数据字段是转换为字节的图像。我有
jsonImages
和[{"Data":<many-many bytes>, "Name":"abracadabra"}]
之类的var imagesData []ImageData
。当我尝试使用json.Unmarshal([]byte(jsonImages), &imagesData)
作为fmt.Println(imagesData)
的结果时,我收到[{abracadabra []}]
。数据字段为空。我究竟做错了什么?谢谢你的帮助!
最佳答案
我尝试使用下面的代码段复制场景
工作正常,这是您要尝试的一个吗?
package main
import (
"encoding/json"
"fmt"
)
type Imgdta struct {
Name string
Dta []byte
}
func main() {
var Imgdta1 Imgdta
var Imgdta2 Imgdta
Imgdta1.Dta = []byte("asfafalsffa")
Imgdta1.Name = "asnakakad"
imgjson, _ := json.Marshal(Imgdta1)
fmt.Println("Input Json:-", string(imgjson))
json.Unmarshal((imgjson), &Imgdta2)
fmt.Println((Imgdta2))
}
...结果:
Input Json:- {"Name":"asnakakad","Dta":"YXNmYWZhbHNmZmE="}
{asnakakad [97 115 102 97 102 97 108 115 102 102 97]}
网址-https://play.golang.org/p/LQNwLqDTvt5
关于arrays - 在字节数组上使用json.Unmarshal()时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63970488/