gpt4 book ai didi

go - 在golang中一键解码多种数据类型

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

我有 JSON key ,其中包含以下任何一个数据。

1.{"value": "ve"}

2.{"值": ["ve","ff"]}

3.{"值": [1,2]}

4.{"值": 3}

如何解码为 golang 的结构?

最佳答案

最简单的方法是在结构中使用 interface{}。见:

package main

import (
"encoding/json"
"fmt"
)

type decoded struct {
Value interface{} `json:"value"`
}

func decode(jstr string) {
var val decoded
json.Unmarshal([]byte(jstr), &val)
fmt.Printf("%v\n", val.Value)
}

func main() {
decode(`{"value": "ve"}`)
decode(`{"value": ["ve","ff"]}`)
decode(`{"value": [1,2]}`)
decode(`{"value": 3}`)
}

您可能需要将它与 the reflect package 中的内容结合起来或(正如我上面所做的) fmt.Sprintf() 或类似的实际获取您的数据。然而,这足以解码并放入结构中:

$ ./spike 
ve
[ve ff]
[1 2]
3

关于go - 在golang中一键解码多种数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47987246/

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