Golang:Type [type]不是表达式; json配置解析

时间:2016-03-04 03:31:44

标签: json go struct compiler-errors

我正在尝试编写一些代码来从JSON文件中获取配置。 当我尝试构建时,我收到此错误

type ConfigVars is not an expression

以下是我尝试使用的配置和程序代码。我到目前为止找到的每个例子都与下面的代码类似。对我做错了什么的任何建议?

-- Config File
{"beaconUrl":"http://test.com/?id=1"}

-- Program Code
package main

import (
    "encoding/json"
    "fmt"
    "os"
)


type ConfigVars struct {
    BeaconUrl   string
}


func main() {
    configFile, err := os.Open("config.json")
    defer configFile.Close()
    if err != nil {
        fmt.Println("Opening config file", err.Error())
    }

    jsonParser := json.NewDecoder(configFile)
    if err = jsonParser.Decode(&ConfigVars); err != nil {
        fmt.Println("Parsing config file", err.Error())
    }
}

1 个答案:

答案 0 :(得分:6)

你正在做的是尝试将指针传递给ConfigVars类型(显然这并不意味着什么)。你想要做的是创建一个类型为ConfigVars的变量,并将指针传递给它:

var cfg ConfigVars
err = jsonParser.Decode(&cfg)
...