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

标签 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)的结果时,我收到[{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/

相关文章:

java - 我不断收到 java.lang.ArrayIndexOutOfBoundsException : 500

移动数组元素的Python程序

Golang 通过反射将 nil 值作为接口(interface)传递

php - mySQL,PHP,Json 错误 <br

function - 如何测试在 main() 函数中调用了特定方法

json - 在 Go 中解码时如何识别无效值和未指定的字段?

arrays - Swift Array.insert 泛型

java - 返回与数据结构中存储的时间最接近的时间

jquery - 如何使用 JQuery 将名称绑定(bind)到下拉列表

javascript - 如何从 php 中检索 json 数据