Reflection 如何使用reflect为golang中的字段设置数组值?

Reflection 如何使用reflect为golang中的字段设置数组值?,reflection,go,Reflection,Go,我有一个包含以下字段的结构 type Config struct { Address[]string Name string } 我正在从JSON格式的文件中读取此配置的值 { "Address": ["xx.xx.xx.xx","xx.xx.xx.xx"], "Name":"Name" } 我已经使用Reflect来标识类型并将其值设置为Config func(v值)SetString(x字符串)这是reflect中的内置方法。有没有办法将[]字

我有一个包含以下字段的结构

type Config struct {
        Address[]string
        Name string
}
我正在从JSON格式的文件中读取此配置的值

{
   "Address": ["xx.xx.xx.xx","xx.xx.xx.xx"],
   "Name":"Name"
}
我已经使用Reflect来标识类型并将其值设置为Config
func(v值)SetString(x字符串)这是reflect中的内置方法。有没有办法将[]字符串值直接设置到字段?请提供帮助。

您可以使用json包(它在内部使用reflect):


您可以为此使用json包(它在内部使用reflect):


为什么不使用标准库中的默认json解码器?它已经为你做了一切。为什么你不使用标准库中的默认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)
}