为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
凤凰求蛊 2022-06-21 15:59:40
[        {"id_A": 1, "name_A": "Value_A"},        {"id_B": 2, "name_B": "Value_B"}]“id_ ”和“name_ ”可以改变,我需要恢复两个键名来创建一个结构。我能怎么做 ?https://play.golang.org/p/OXqpudiWWcH
查看完整描述

1 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

如果您有未修复的密钥,则可以使用的唯一方法是 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


查看完整回答
反对 回复 2022-06-21
  • 1 回答
  • 0 关注
  • 114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信