百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
Y

yaml

> 编程语言
开源

在 Golang 中调用和反序列化 YAML 的更好方法

1.1K stars0 点赞2 次浏览
访问官网GitHub

工具介绍

在 Golang 中调用和反序列化 YAML 的更好方法

YAML 编码和解码支持 Go

简介

警告 #1: 使用 yaml.Marshal 和 yaml.Unmarshal 时,二进制数据不应附带 !!binary YAML 标签。如果您这样做,go-yaml 会将二进制数据从 base64 解码为原生二进制数据,这与 JSON 不兼容。但是,您仍然可以在 YAML 文件中使用二进制数据 - 只需在没有 !!binary 标签的情况下存储它们,并在代码中解码 base64(例如,在自定义 JSON 方法 MarshalJSON 和 UnmarshalJSON 中)。这样做还有好处,即您的 YAML 和 JSON 二进制数据将以完全相同的方式解码。例如:

警告 #2: 直接使用 YAMLToJSON 时,具有映射键的映射将导致错误,因为 JSON 不支持此操作。此错误也会在 Unmarshal 中出现,因为无论如何,您都无法解析映射键,因为结构体字段不能作为键。

安装和使用

要安装,请运行:

$ go get github.com/ghodss/yaml

并使用以下方式导入:

import "github.com/ghodss/yaml"

使用方式与 JSON 库非常相似:

…

yaml.YAMLToJSON 和 yaml.JSONToYAML 方法也可用:

go
package main
import (
"fmt"
"GitHub.com/ghodss/yaml"
)
func main() {
j := []byte(`{"na

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Go

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言