我有一个包含以下字段的结构
type Config struct {
Address[]string
Name string
}
我正在从JSON格式的文件中读取此配置的值
{
"Address": ["xx.xx.xx.xx","xx.xx.xx.xx"],
"Name":"Name"
}
我使用Reflect来识别类型并将其值设置为Config.I我能够使用Name字段设置值 func(v Value)SetString(x string),这是一个内置的反射方法。有没有办法将[]字符串值直接设置为字段?请帮忙。
答案 0 :(得分:4)
您可以使用json包(它在内部使用reflect):
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)
}