【发布时间】:2018-07-02 07:24:25
【问题描述】:
我有一个 Json:
{
"id": "me",
"name": "myname",
"planets": {
"EARTH": 3,
"MARS": 4
}
}
我不知道如何将行星字段解组为 map[string]int,因此我将在不解组它们的情况下访问元素,就像在此示例中一样:json to map Golang
代码如下:
package main
import (
"encoding/json"
"fmt"
)
type User struct {
ID string `json:"id"`
Name string `json:"name"`
Planets struct {
Planet map[string]*json.RawMessage
} `json:"planets"`
}
func main() {
data := `{
"id": "me",
"name": "myname",
"planets": {
"EARTH": 3,
"MARS": 4
}
}`
user := &User{}
err := json.Unmarshal([]byte(data), user)
if err != nil {
fmt.Println("ERROR " + err.Error())
}
fmt.Println(user.ID)
fmt.Println(user.Planets.Planet["EARTH"])
}
fmt.Println(user.Planets.Planet["EARTH"]) - 返回
fmt.Println(user.Planets["EARTH"]) - 不支持索引
【问题讨论】:
-
你试过什么?你遇到了什么问题?
-
感谢您提供代码。那么问题是什么?您的描述似乎描述了预期的行为。
-
请正确书写问题陈述。对此没有理解。
标签: json dictionary go