2017-04-10 8 views
-2

私は設定ファイルを持っています。私はそのファイルから特定の価値を得たいと思っています。ここに私のコードです: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を印刷しています。

答えて

1

export Configuration.domainフィールドは、jsonパッケージで表示されるようにする必要があります。

ドメインにドメインフィールドの名前を変更します。

type Configuration struct { 
    Domain string 
} 

それはフィールド名と異なる場合あなたはまた、明示的にJSONの名前を指定することができます。

type Configuration struct { 
    Domain string `json:"domain_name"` 
} 
関連する問題