gpt4 book ai didi

go - 将 JSON 嵌套字段值解码为结构字段

转载 作者:数据小太阳 更新时间:2023-10-29 03:35:42 24 4
gpt4 key购买 nike

// Given the following struct:

type MyStruct struct {
First string
Second string
Third string
}

// I would like to unmarshal the following JSON into MyStruct such as:

bytes := []byte({ { "first": { "href":"http://some/resources/1" },
"second": { "href":"http://http://some/resources/2" },
"third": { "href":"http://some/resources/3" } })
var s MyStruct
err := json.Unmarshal(bytes, &s)

fmt.Println(s.First)
// how do I make this return "http://some/resources/1" instead of
// "map[href:http://some resources/1]"?

我正在寻找的是 go 字段标记与实际 JSON 对象符号的组合,我可以在其中声明 MyStruct,如下所示:

type MyStruct struct {
First string `json:"first.href"`
Second string `json:"second.href"`
Third string `json:"third.href"`
}

有什么想法吗?

最佳答案

json 包不支持访问嵌套字段的方法(与 encoding/xml 不同)。因此,您要么必须编写自己的 Unmarshal 函数(请参阅:JSON decoding in go),要么使用访问器封装字段。

关于go - 将 JSON 嵌套字段值解码为结构字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33603847/

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