问题内容 我正在学习https://www.digitalocean.com/commUnity/tutorials/how-to-use-JSON-in-Go#using-a-str
我正在学习https://www.digitalocean.com/commUnity/tutorials/how-to-use-JSON-in-Go#using-a-struct-to-generate-json(go的旧版本)。
我使用 go 1.20.1 、windows 11 x64、goland 2022.3.2 。
package sample3
import (
foo "encoding/json"
"fmt"
"time"
)
type myjson struct {
intvalue int `json:"intvalue"`
boolvalue bool `json:"boolvalue"`
stringvalue string `json:"stringvalue"`
datevalue time.time `json:"datevalue"`
objectvalue *myobject `json:"objectvalue"`
nullstringvalue *string `json:"nullstringvalue"`
nullintvalue *int `json:"nullintvalue"`
}
type myobject struct {
arrayvalue []int `json:"arrayvalue"`
}
func main3() {
otherint := 4321
data := &myjson{
intvalue: 1234,
boolvalue: true,
stringvalue: "hello!",
datevalue: time.date(2022, 3, 2, 9, 10, 0, 0, time.utc),
objectvalue: &myobject{
arrayvalue: []int{1, 2, 3, 4},
},
nullstringvalue: nil,
nullintvalue: &otherint,
}
fmt.println(foo.marshal(data))
fmt.println(data)
type myint struct {
intvalue int
}
data2 := &myint{intvalue: 1234}
fmt.println(foo.marshal(data2))
}
行
fmt.println(foo.marshal(data))
返回
&{1234 true hello! 2022-03-02 09:10:00 +0000 UTC 0xc000008240 0xc00001a170}
我想查看 {"intvalue": 1234, "boolvalue": true, ...}
,请指导我。
完整源代码Https://GitHub.com/donhuvy/vy_learn_go_json2023/blob/main/sample3/main3.go#l36
为什么我使用 fmt.println(string(json.marshal(data)))
会导致错误?
我通常使用json编码库。看看下面的例子:
package main
import (
"encoding/json"
"time"
)
type myjson struct {
intvalue int `json:"intvalue"`
boolvalue bool `json:"boolvalue"`
stringvalue string `json:"stringvalue"`
datevalue time.time `json:"datevalue"`
objectvalue *myobject `json:"objectvalue"`
nullstringvalue *string `json:"nullstringvalue"`
nullintvalue *int `json:"nullintvalue"`
}
type myobject struct {
arrayvalue []int `json:"arrayvalue"`
}
func main() {
otherint := 4321
data := &myjson{
intvalue: 1234,
boolvalue: true,
stringvalue: "hello!",
datevalue: time.date(2022, 3, 2, 9, 10, 0, 0, time.utc),
objectvalue: &myobject{
arrayvalue: []int{1, 2, 3, 4},
},
nullstringvalue: nil,
nullintvalue: &otherint,
}
bytes, err := json.marshal(data) // <-------------------this line
println(string(bytes)) // <-------------------and this line
println(err)
}
输出:
{"intValue":1234,"boolValue":true,"stringValue":"hello!","dateValue":"2022-03-02T09:10:00Z","objectValue":{"arrayValue":[1,2,3,4]},"nullStringValue":null,"nullIntValue":4321}
以上就是如何用go struct查看json的标签键?的详细内容,更多请关注编程网其它相关文章!
--结束END--
本文标题: 如何用go struct查看json的标签键?
本文链接: https://lsjlt.com/news/564091.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0