[英]How to set the value of a field of type time.Time as time.Now() using reflect in Golang
[英]How to set array value to a field in golang using reflect?
我有一个具有以下字段的结构
type Config struct {
Address[]string
Name string
}
我正在从JSON格式的文件中读取此配置的值
{
"Address": ["xx.xx.xx.xx","xx.xx.xx.xx"],
"Name":"Name"
}
我已经使用Reflect来识别类型并将其值设置为Config。我能够使用func(v Value)SetString(x string)来设置Name字段的值,这是反射中的一种内置方法。 有没有一种方法可以直接将[]字符串值设置为字段? 请帮忙。
您可以为此使用json包(它在内部使用反射):
package main
import (
"encoding/json"
"fmt"
)
type Config struct {
Address []string
Name string
}
var someJson = []byte(`{
"Address": ["xx.xx.xx.xx","xx.xx.xx.xx"],
"Name":"Name"
}`)
func main() {
var config Config
err := json.Unmarshal(someJson, &config)
if err != nil {
fmt.Println("error: ", err)
}
fmt.Printf("%v", config)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.