该JSON格式为我工作得很好。标准库提供了编写缩进数据结构的方法,因此可读性很强。
另请参阅此golang-nuts线程。
JSON的好处在于,它在提供列表和映射语义时(它可能变得非常方便),解析起来相当容易并且易于人类阅读/编辑(这对于许多ini类型的配置解析器而言并非如此)。
用法示例:
conf.json :
{ "Users": ["UserA","UserB"], "Groups": ["GroupA"]}程序读取配置
import ( "encoding/json" "os" "fmt")type Configuration struct { Users []string Groups []string}file, _ := os.Open("conf.json")defer file.Close()deprer := json.NewDeprer(file)configuration := Configuration{}err := deprer.Depre(&configuration)if err != nil { fmt.Println("error:", err)}fmt.Println(configuration.Users) // output: [UserA, UserB]


