猿问

将 []uint8/[]byte 转换为哈希表 GoLang

我的服务器发送一个 JSON 响应,如下所示

{"SortAs": "SGML","GlossTerm": "Standard Generalized Markup Language","Acronym": "SGML","Abbrev": "ISO 8879:1986"}

但是我的 Go 程序将它作为 []uint8 类型接收。此外,从服务器发送的 JSON 大小也不是确定的,它会有所不同。我如何再次将其转换为包含键/值对的哈希表?


慕尼黑8549860
浏览 221回答 1
1回答

慕哥6287543

请注意,这byte是 的别名uint8。话虽如此,您想要的是一个简单的json unmarshal:js := []byte(`{"SortAs": "SGML","GlossTerm": "Standard Generalized Markup Language", "Acronym": "SGML","Abbrev": "ISO 8879:1986"}`)m := map[string]interface{}{}if err := json.Unmarshal(js, &m); err != nil {    panic(err)}fmt.Printf("%q",m)输出(包装):map["SortAs":"SGML" "GlossTerm":"Standard Generalized Markup Language"    "Acronym":"SGML" "Abbrev":"ISO 8879:1986"]在Go Playground上试一试。
随时随地看视频慕课网APP

相关分类

Go
我要回答