从 JSON 数组列表中检索未知的键名和值

[

        {"id_A": 1, "name_A": "Value_A"},

        {"id_B": 2, "name_B": "Value_B"}

]

“id_ ”和“name_ ”可以改变,我需要恢复两个键名来创建一个结构。


我能怎么做 ?


https://play.golang.org/p/OXqpudiWWcH


凤凰求蛊
浏览 115回答 1
1回答

蛊毒传说

如果您有未修复的密钥,则可以使用的唯一方法是 interface{} 您需要将 json 解组为[]interface{}并使用类型断言map[string]interface{}var body []interface{}    _ = json.Unmarshal([]byte(json2), &body)    fmt.Printf("Unmarshaled: %v\n", body)        // range through array interface[]    for _, opt := range body {             // assert interface{} to map[string]interface{}         if item, ok := opt.(map[string]interface{}); ok {             for v, opt := range item {                 fmt.Printf("[%s] key -> %s  value -> %s\n", v, opt, "fake")            }        }    }基于您的示例的完整代码 https://play.golang.org/p/PepxOVlB7u4
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go