在Goaling中的一个键中解组多个数据类型
我有一个JSON密钥,它将包含以下任何一个数据 1.{“值”:“ve”} 2.{“值”:[“ve”,“ff”]} 3.{“值”:[1,2]} 4.{“值”:3}在Goaling中的一个键中解组多个数据类型,go,Go,我有一个JSON密钥,它将包含以下任何一个数据 1.{“值”:“ve”} 2.{“值”:[“ve”,“ff”]} 3.{“值”:[1,2]} 4.{“值”:3} 如何解组golang的结构?最简单的方法就是在结构中使用接口{}。见: package main import ( "encoding/json" "fmt" ) type decoded struct { Value interface{} `json:"value"` } func deco
如何解组golang的结构?最简单的方法就是在结构中使用接口{}。见:
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}`)
}
您可能需要将其与或(正如我上面所做的)fmt.Sprintf()或类似文件中的内容结合起来,才能真正获取数据。然而,这足以解码并放入一个结构中:
$ ./spike
ve
[ve ff]
[1 2]
3
或者干脆用简单的。