gpt4 book ai didi

json.Marshal 返回奇怪的结果

转载 作者:IT王子 更新时间:2023-10-29 01:50:29 26 4
gpt4 key购买 nike

我正在尝试将 go 结构转换为 JSON。我以为我知道该怎么做,但我对这个程序的输出感到困惑。我错过了什么?

package main
import "fmt"
import "encoding/json"

type Zoo struct {
name string
animals []Animal
}
type Animal struct {
species string
says string
}

func main() {
zoo := Zoo{"Magical Mystery Zoo",
[]Animal {
{ "Cow", "Moo"},
{ "Cat", "Meow"},
{ "Fox", "???"},
},
}
zooJson, err := json.Marshal(zoo)
if (err != nil) {
fmt.Println(err)
}

fmt.Println(zoo)
fmt.Println(zooJson)
}

输出:

{Magical Mystery Zoo [{Cow Moo} {Cat Meow} {Fox ???}]}
[123 125]

预期输出(类似以下内容):

{Magical Mystery Zoo [{Cow Moo} {Cat Meow} {Fox ???}]}
{
"name" : "Magical Mystery Zoo",
"animals" : [{
"name" : "Cow",
"says" : "moo"
}, {
"name" : "Cat",
"says" : "Meow"
}, {
"name" : "Fox",
"says" : "???"
}
]
}

[123 125] 来自哪里?

感谢您的帮助!

最佳答案

编码的结果是 []byte 所以 123125{ 的 ascii >

必须导出结构字段才能使编码工作:

Each exported struct field becomes a member of the object

关于json.Marshal 返回奇怪的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21343463/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com