在 go 中编码 json 数据可用以下步骤:使用 json.marshal 将 go 类型编码为 json 字节切片。使用 json.unmarshal 从 json 编码解码 go 类型,将 json 字节切片存储在 go 类型中。

在 Go 语言中对 JSON 数据进行编码是可以通过使用 encoding/json 标准库来完成的简单明了的过程。该库提供了丰富的函数用于将 Go 类型编码为 JSON,以及从 JSON 编码中解码 Go 类型。
要将Go类型编码为JSON,可以使用 json.Marshal 函数。该函数接受一个 Go 值并返回其相应的 JSON 编码的字节切片。
package main
import (
"encoding/json"
"fmt"
)
type User struct {
Name string
Age int
Admin bool
}
func main() {
user := User{Name: "John Doe", Age: 30, Admin: false}
jsonBytes, err := json.Marshal(user)
if err != nil {
fmt.Println("Error encoding user:", err)
return
}
fmt.Println(string(jsonBytes))
}上面的代码片段会输出如下 JSON:
立即学习“go语言免费学习笔记(深入)”;
我愿意把本文归入我的“编程糗事”系列。尽管在正规大学课程中,接触到软件工程、企业级软件架构和数据库设计,但我还是时不时地体会到下述事实带给我的“罪恶”感,当然,都是我的主观感受,并且面向Eclipse: 你是PHP菜鸟,如果你: 1. 不会利用如phpDoc这样的工具来恰当地注释你的代码 2. 对优秀的集成开发环境如Zend Studio或Eclipse PDT视而不见 3
379
{"Name":"John Doe","Age":30,"Admin":false}要从 JSON 编码中解码一个 Go 类型,可以使用 json.Unmarshal 函数。该函数接受一个 JSON 编码的字节切片,并将相应的值存储在提供的 Go 类型中。
package main
import (
"encoding/json"
"fmt"
)
type User struct {
Name string
Age int
Admin bool
}
func main() {
jsonBytes := []byte(`{"Name":"John Doe","Age":30,"Admin":false}`)
var user User
if err := json.Unmarshal(jsonBytes, &user); err != nil {
fmt.Println("Error decoding user:", err)
return
}
fmt.Println(user)
}上面的代码片段会输出以下结果:
{John Doe 30 false}在很多实际场景中需要将 Go 类型编码为 JSON,比如:
相反,从 JSON 编码解码 Go 类型也有很多实际应用,比如:
以上就是如何在 Golang 中编码 JSON 数据?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号