Go “存储JSON对象”;原样;进入数据存储
我必须将嵌套结构存储到数据存储中。当我遇到 数据存储:展平嵌套结构将导致切片:字段的切片Go “存储JSON对象”;原样;进入数据存储,go,Go,我必须将嵌套结构存储到数据存储中。当我遇到 数据存储:展平嵌套结构将导致切片:字段的切片 问题是,我想将JSON对象按原样(按字符串?)存储到数据存储中。这在Go中可行吗?您应该能够存储。看 RawMessage是一个原始编码的JSON对象。它实现封送器和解封送器,并可用于延迟JSON解码或预计算JSON编码 它是字节的一部分,但是如果你愿意,你可以很容易地将它转换成字符串。是的,它在golang是可行的 无论数据存储多么复杂(或嵌套),它都可以转换为json。只需确保map的键是字符串。 还要
问题是,我想将JSON对象按原样(按字符串?)存储到数据存储中。这在Go中可行吗?您应该能够存储。看 RawMessage是一个原始编码的JSON对象。它实现封送器和解封送器,并可用于延迟JSON解码或预计算JSON编码
它是字节的一部分,但是如果你愿意,你可以很容易地将它转换成字符串。是的,它在golang是可行的 无论数据存储多么复杂(或嵌套),它都可以转换为json。只需确保map的键是字符串。 还要确保数据存储的元素是公共的(以大写字母开头)。如果您不想对字段进行编码,可以将其保留为私有(以小写字母开头) 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
}
但我不知道如何在结构上使用它。假设,我有一个嵌套较深的结构(切片等),并希望将其存储到数据存储中。我将如何使用RawMessage实现这一点?您使用哪种“数据存储”?你能分享一个代码示例,重现错误吗?