我试图解组以下类型的JSON数组:
[
{"abc's": "n;05881364"},
{"abcoulomb": "n;13658345"},
{"abcs": "n;05881364"}
]
进入map[string]string
。这个问题Golang parse JSON array into data structure几乎回答了我的问题,但我的是一张真正的地图,而不是一系列地图。解组为[]map[string]string
,但我现在得到map[string]string
的地图,而不是map
的{{1}}地图,应该是
答案 0 :(得分:3)
无法直接使用json
包进行此操作;你必须自己做转换。这很简单:
package main
import (
"encoding/json"
"fmt"
)
func main() {
data := []byte(`
[
{"abc's": "n;05881364"},
{"abcoulomb": "n;13658345"},
{"abcs": "n;05881364"}
]
`)
var mapSlice []map[string]string
if err := json.Unmarshal(data, &mapSlice); err != nil {
panic(err)
}
resultingMap := map[string]string{}
for _, m := range mapSlice {
for k, v := range m {
resultingMap[k] = v
}
}
fmt.Println(resultingMap)
}
输出
map[abc's:n;05881364 abcoulomb:n;13658345 abcs:n;05881364]
答案 1 :(得分:2)