我正在尝试解析一个包含JSON数据的文件:
[ {"a" : "1"}, {"b" : "2"}, {"c" : "3"} ]
由于这是带有动态键的JSON数组,因此我认为我可以使用:
type data map[string]string
但是,我无法使用来解析文件map:
map
c, _ := ioutil.ReadFile("c") dec := json.NewDecoder(bytes.NewReader(c)) var d data dec.Decode(&d) json: cannot unmarshal array into Go value of type main.data
将包含JSON数据的文件解析为Go结构的最简单方法是将数组(仅字符串类型转换为字符串类型)?
编辑: 要进一步详细说明可接受的答案-的确,我的JSON是地图数组。为了使我的代码正常工作,该文件应包含:
{ "a":"1", "b":"2", "c":"3" }
然后可以将其读入 map[string]string
map[string]string
这是因为您的json实际上是一个地图数组,但是您试图将其分解为一个map。尝试使用以下内容:
type YourJson struct { YourSample []struct { data map[string]string } }