title: Unmarshal JSON returns empty struct
body: <p>Here's my JSON file:</p>
  
  <pre><code>{
      "database": {
          "dialect": "mysql"
          "host": "localhost",
          "user": "root",
          "pass": "",
          "name": "sws"
      }
  }
  </code></pre>
  
  <p>Here's my code:</p>
  
  <pre><code>package config
  
  import (
      "fmt"
      "encoding/json"
      "io/ioutil"
      "log"
      "os"
  )
  
  type ConfigType struct {
      Database DatabaseType `json:"database"`
  }
  
  type DatabaseType struct {
      Dialect string `json:"dialect"`
      Host string `json:"host"`
      User string `json:"user"`
      Pass string `json:"pass"`
      Name string `json:"name"`
  }
  
  func Config() {
      file, err := os.Open("./config/config.json")
      if err != nil {
          log.Fatal(err)
      }
      defer file.Close()
  
      fileBytes, _ := ioutil.ReadAll(file)
  
      var Conf ConfigType
      json.Unmarshal(fileBytes, &amp;Conf)
  
      fmt.Printf("File content:\n%v", string(fileBytes))
      fmt.Printf("Conf: %v\n", Conf)
      fmt.Printf("Content: \n %v \nType: %T", Conf.Database.Host, Conf)
  }
  </code></pre>
  
  <p>And here is the output:</p>
  
  <pre><code>File content:
  {
      "database": {
          "dialect": "mysql"
          "host": "localhost",
          "user": "root",
          "pass": "",
          "name": "sws"
      }
  }
  Conf: {{    }}
  Content: 
  
  Type: config.ConfigType%
  </code></pre>
  
  <p>The package is imported to <code>main</code> and just the <code>Config</code> function is executed. I've looked at a lot of similar questions and it seems like I almost have the exact same code as in the answers but I can't get my code to work.</p>