如何将数组编码为 JSON 字段的值?

huangapple go评论110阅读模式
英文:

How do I encode an array as a value of a JSON field?

问题

我刚开始学习Go语言,我有一个问题:如何将一个数组放入一个对象(结构体)中,以便在解析为JSON时看起来像这样:

{
"key":"value",
"array": [1, 2, 3, "num", null]
}
英文:

I just started learning golang, and I had a question: how can I put an array into an object (struct) so that when parsed in json it looks like this:

{
"key":"value",
"array": [1, 2, 3, "num", null]
}

答案1

得分: 1

只需创建一个具有适当数据类型的结构体,并将其解组为该结构体即可:

type MyStruct struct {
    Key   string        `json:"key"`
    Array []interface{} `json:"array"`
}

byt := []byte(`{
    "key": "value",
    "array": [1, 2, 3, "num", null]
}`)

dat := MyStruct{}
if err := json.Unmarshal(byt, &dat); err != nil {
    panic(err)
}

fmt.Println(dat)

你可以在这里运行代码并查看结果:https://play.golang.org/p/CLMaN9ikBQS

英文:

Just create a struct with the appropriate data types and unmarshal into it:

https://play.golang.org/p/CLMaN9ikBQS

type MyStruct struct {
    Key string `json:"key"`
    Array []interface{} `json:"array"`
}
byt := []byte(`{
    "key":"value",
    "array": [1, 2, 3, "num", null]
}`)
dat := MyStruct{}
if err := json.Unmarshal(byt, &dat); err != nil {
    panic(err)
}
fmt.Println(dat)

huangapple
  • 本文由 发表于 2021年7月22日 00:50:50
  • 转载请务必保留本文链接:https://go.coder-hub.com/68473537.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定