Tôi đang cố gắng để cấu hình chương trình Go của tôi bằng cách tạo ra một tập tin JSON và phân tích nó thành một cấu trúc:How Do I Phân tích một tệp JSON thành một cấu trúc với Go
var settings struct {
serverMode bool
sourceDir string
targetDir string
}
func main() {
// then config file settings
configFile, err := os.Open("config.json")
if err != nil {
printError("opening config file", err.Error())
}
jsonParser := json.NewDecoder(configFile)
if err = jsonParser.Decode(&settings); err != nil {
printError("parsing config file", err.Error())
}
fmt.Printf("%v %s %s", settings.serverMode, settings.sourceDir, settings.targetDir)
return
}
File config.json:
{
"serverMode": true,
"sourceDir": ".",
"targetDir": "."
}
Chương trình biên dịch và chạy mà không cần bất kỳ lỗi nào, nhưng kết quả đầu ra tuyên bố in:
false
(sai và hai chuỗi rỗng s)
Tôi cũng đã thử với json.Unmarshal(..)
nhưng có cùng kết quả.
Làm cách nào để phân tích cú pháp JSON theo cách lấp đầy các giá trị struct?
Đừng quên đóng tệp. Ví dụ: 'defer configFile.Close()' sau 'configFile, err: = os.Open (" config.json ")' – Kiril