gpt4 book ai didi

json - Golang json 解码

转载 作者:行者123 更新时间:2023-12-01 22:40:37 25 4
gpt4 key购买 nike

我是围棋新手。我有这样的json:

{
"3415": {
"age": 25,
"name": "Tommy"
},
"3414": {
"age": 21,
"name": "Billy"
}
}

我想将其解码为结构:
type People struct {
Id map[string]PeopleDetails
}

type PeopleDetails struct {
Age int `json:"age"`
Name string `json:"name"`
}

但是当我运行它时,我看到该结构返回 nil 值。
我确实阅读了一些教程,但其中大多数都有预定义的键,如您在此处看到的“id”,例如3415 对于每个新的 json 都是不同的。

最佳答案

当您必须处理“动态”json 键时,答案是使用结构映射。

您可以使用以下代码:

package main

import (
"encoding/json"
"fmt"
)

// Use the struct pointed by @Adirio
type People map[string]PeopleDetails
type PeopleDetails struct {
Age int `json:"age"`
Name string `json:"name"`
}

var data string = `{"3415":{"age":25,"name":"Tommy"},"3414":{"age":21,"name":"Billy"}}`

func main() {
var p People
if err := json.Unmarshal([]byte(data), &p); err != nil {
fmt.Println(err)
}
fmt.Println(p)
}

去游乐场: https://play.golang.org/p/kVzNV56NcTd

关于json - Golang json 解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60378896/

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