gpt4 book ai didi

go - 在Golang中,json编码和编码有什么区别

转载 作者:IT老高 更新时间:2023-10-28 13:00:26 25 4
gpt4 key购买 nike

JSON“编码/解码”和JSON“编码/解码”有什么区别?

正在尝试学习如何在 golang 中编写 RESTFUL api,但不确定 JSON“编码”和“编码”之间的区别是什么,或者它们是否相同?

最佳答案

  • 编码(marshal) => 字符串
  • 编码 => 流

Marshal 和 Unmarshal 将字符串转换为 JSON,反之亦然。编码和解码将流转换为 JSON,反之亦然。

下面的代码显示了编码和解码的工作

type Person struct {
First string
Last string
}
func main() {
/* This will marshal the JSON into []bytes */

p1 := Person{"alice", "bob"}
bs, _ := json.Marshal(p1)
fmt.Println(string(bs))

/* This will unmarshal the JSON from []bytes */

var p2 Person
bs = []byte(`{"First":"alice","Last":"bob"}`)
json.Unmarshal(bs, &p2)
fmt.Println(p2)

}

编码器和解码器将结构写入流的 slice 或从流的 slice 中读取数据并将其转换为结构。在内部,它还实现了 marshal 方法。唯一的区别是如果你想玩字符串或字节使用 marshal,如果你想读取或写入某些写入器接口(interface)的任何数据,使用编码和解码。

关于go - 在Golang中,json编码和编码有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33061117/

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