在Go中阅读json文件的值
问题描述:
我有一个配置文件。我想从该文件中获得特定的值。这里是我的代码:在Go中阅读json文件的值
package main
import (
"fmt"
"os"
"encoding/json"
)
type Configuration struct {
consumer_key string
consumer_secret string
access_token string
access_token_secret string
db_name string
db_user string
db_password string
secret_key string
fb_page string
fb_page_token string
domain string
}
func main() {
file, _ := os.Open("./config.json")
decoder := json.NewDecoder(file)
configuration := Configuration{}
error_ := decoder.Decode(&configuration)
fmt.Println(configuration.domain)
}
config.json
{
"consumer_key": "",
"consumer_secret": "",
"access_token": "",
"access_token_secret": "",
"db_name": "",
"db_user": "",
"db_password": "",
"secret_key": "",
"fb_page": "",
"fb_page_token": "",
"domain": "localhost:8000"
}
但问题是,它总是打印空行,而不是价值localhost:8000
我期待。
答
您需要export Configuration.domain字段,以便json包可以看到它。
域字段重命名为域:
type Configuration struct {
Domain string
}
您也可以明确指定json的名称,如果它的字段名称不同:
type Configuration struct {
Domain string `json:"domain_name"`
}