Categorygithub.com/Pivot-Studio/gojsonconfig
modulepackage
0.0.0-20220620061800-a4987fb46183
Repository: https://github.com/pivot-studio/gojsonconfig.git
Documentation: pkg.go.dev

# README

Reading Json Configuration by Golang

As we all know, go language gives us a simple library to read json file. However, when it comes to more complex json file it is weak,so we want to give you a stronger and more robust way to get json value.

How to use it

中文版本

  • Use command below to install package gojsonconfig
go mod -u "https://github.com/xieyuschen/json-to-go-types"
  • You can use command gojsonconfig -v to check whether you install this package successfully or not. If you are successful, you will see output as this at terminal.
$ json-to-go-types -v
v0.1
  • Generate a struct based on json file for further reading Firstly your current path needs to contain a json file named config.json. Secondly your current path needs to have a folder called models where the generated struct model will be stored. If your path has no folder named models,please create one first.Your path dictionary would like this:
$-->your current postion
|__config,json
|__models(This is a folder)

Do command below after all of thing before done.

json-to-go-types -g

After this you can find a Config_gen.go file in models dictionary which is a struct based on the config.json.

  • You can read json to the model generated before like this:
func main(){
	conf:=ReadSettingsFromFile("config.json")
	fmt.Println(config.DbSettings.Password)
}
func ReadSettingsFromFile(settingFilePath string)(config models.Config){
	jsonFile, err := os.Open(settingFilePath)
	if err != nil {
		fmt.Println(err)
	}
	defer jsonFile.Close()
	byteValue, _ := ioutil.ReadAll(jsonFile)
	err = json.Unmarshal(byteValue, &config)
	if err != nil {
		log.Panic(err)
	}
	return config
}

# Packages

No description provided by the author
No description provided by the author