Ale*_*xey 4 go

我需要一些解组方面的帮助。我有这个示例代码:

package main

import (
    "encoding/json"
    "fmt"
)

type Obj struct {
    Id   string `json:"id"`
    Data []byte `json:"data"`
}

func main() {
    byt := []byte(`{"id":"someID","data":["str1","str2"]}`)

    var obj Obj
    if err := json.Unmarshal(byt, &obj); err != nil {
        panic(err)
    }

    fmt.Println(obj)
}

我在这里尝试做的 - 将字节转换为结构,其中一个字段的类型是[]byte。我得到的错误:

恐慌:json:无法将字符串解组为 uint8 类型的 Go 结构字段 Obj.data

这可能是因为解析器已经看到“data”字段已经是一个切片并尝试将“str1”表示为一些字符字节码(类型 uint8?)。

如何将整个数据值存储为一个字节数组?因为我想稍后将值解组到字符串切片中。我没有在 struct 中包含一段字符串,因为这种类型可以改变(字符串数组、int、字符串等),我希望这是通用的。