Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go “存储JSON对象”;原样;进入数据存储_Go - Fatal编程技术网

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实现这一点?您使用哪种“数据存储”?你能分享一个代码示例,重现错误吗?