gpt4 book ai didi

json - 如何在golang中将结构解码到 map 中

转载 作者:数据小太阳 更新时间:2023-10-29 03:47:44 26 4
gpt4 key购买 nike

<分区>

我有一个 Json:

{
"id": "me",
"name": "myname",
"planets": {
"EARTH": 3,
"MARS": 4
}
}

我不知道如何将 planets 字段解码为 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"]) - 不支持索引

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com