我需要将一个嵌套的结构存储到数据存储中。由于遇到了数据存储问题,将嵌套结构展平会导致切片嵌套切片:字段问题,我想将JSON对象不经修改地(以字符串形式)存储到数据存储中。在Go语言中能实现吗?
我需要将一个嵌套的结构存储到数据存储中。由于遇到了数据存储问题,将嵌套结构展平会导致切片嵌套切片:字段问题,我想将JSON对象不经修改地(以字符串形式)存储到数据存储中。在Go语言中能实现吗?
是的,使用golang可以实现。
无论您的数据存储结构是多么复杂(或嵌套),它都可以转换为json。只需确保映射的键是字符串即可。还要确保数据存储的元素是公共的(以大写字母开头)。如果您不想编码某个字段,则可以将其保留为私有字段(以小写字母开头)。
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是一个原始编码的JSON对象。它实现了Marshaler和Unmarshaler接口,可用于延迟JSON解码或预计算JSON编码。
它是一个byte
切片,但如果需要,可以轻松将其转换为字符串。