在字节数组上使用json.Unmarshal()时出现问题

时间:2020-09-19 15:36:29

标签: arrays json go

我有一个用于图像数据的结构

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)。数据字段为空。我究竟做错了什么?感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我尝试使用以下代码段复制方案 效果很好。这是您要尝试的吗?

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]}

URL-https://play.golang.org/p/LQNwLqDTvt5