// LoadJSONFile is to load json file func LoadJSONFile(filePath string) *SiteInfo { lg.Debug("load json file") //initialize siteInfo = SiteInfo{} //test(get current dir) //dir := path.Dir(os.Args[0]) //lg.Debugf("path.Dir(os.Args[0]): %s", dir) // Loading jsonfile if filePath == "" { //dir := path.Dir(os.Args[0]) //lg.Debugf("path.Dir(os.Args[0]): %s", dir) //filePath = fmt.Sprintf("%s/json/teachers.json", dir) lg.Fatal("json filepath have to be set.") return nil } file, _ := ioutil.ReadFile(filePath) err := json.Unmarshal(file, &siteInfo) if err != nil { lg.Fatalf("json format is invalid: %v, filepath is %s", err, filePath) return nil } lg.Debugf("SiteInfo.Url: %v", siteInfo.URL) lg.Debugf("SiteInfo.Teachers[0].Id: %d, Name: %s, Country: %s", siteInfo.Teachers[0].ID, siteInfo.Teachers[0].Name, siteInfo.Teachers[0].Country) return &siteInfo }
func failOnError(err error, msg string) { if err != nil { lg.Fatalf("%s: %s", msg, err) panic(fmt.Sprintf("%s: %s", msg, err)) } }