go - 将 JSON 对象 "as is"存储到数据存储中

标签 go

我必须将嵌套结构存储到数据存储中。当我遇到

数据存储:展平嵌套结构导致 slice slice :字段

问题,我想将 JSON 对象按原样(作为字符串?)存储到数据存储区。这在 Go 中可行吗?

最佳答案

是的,它在 golang 中可行

无论您的数据存储多么复杂(或嵌套),都可以将其转换为 json。只要确保 map 的键是一个字符串。 还要确保数据存储的元素是公开的(以大写字母开头)。如果您不想对某个字段进行编码,您可以将其设为私有(private)(以小写字母开头)。

json.Marshal() 将返回一个字节数组,可以将其保存到文件中。

type Complex struct {
  Data1 map[string]int
  Data2 []byte
  TimeStamp time.Time
}
type Datastore struct {
  Name string
  phones []string
  Address map[string]string
  noJson string // Wont be encoded as its not public
  SomethingComplex map[string]Complex
}

关于go - 将 JSON 对象 "as is"存储到数据存储中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22476174/

相关文章:

json - 如何使用 MarshalJSON 将结构转换为具有自定义字段类型的公共(public)结构

regex - 如何将正则表达式应用于文件中的内容(Go)?

templates - 部分变量不可见

go - 获取二维 slice 的尺寸

file - 在 Go 中写入文件中的字节范围

go - go版本1.12中的 'http.Client'和 '&http.Client'有什么区别

unicode - 在 Go 中使用 bufio 扫描器读取 unicode 字符

go - 你如何供应带有 Cgo 绑定(bind)的 Go 库?

amazon-web-services - 使用AWS Go SDK创建客户端时出现UnrecognizedClientException

Go可变函数参数传递