data.jsonフォルダに下記のようなjsonファイルがあるとします
{
"user_id": 1,
"user_name":"Tanaka"
}
まず、jsonファイルに対応する型を定義します
`json:”user_id”`のuser_idの部分がjsonファイルのuser_idにマッピングされます
type JsonData struct {
UserId int `json:"user_id"`
UserName string `json:"user_name"`
}
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"os"
)
type JsonData struct {
UserId int `json:"user_id"`
UserName string `json:"user_name"`
}
func main() {
raw, err := ioutil.ReadFile("./data.json")
if err != nil {
fmt.Println("プロパティファイルが読み込めませんでした")
fmt.Println(err.Error())
os.Exit(1)
}
var data JsonData
//読み込んだjsonファイルをデータに埋め込む
json.Unmarshal(raw, &data)
fmt.Println(data)
}
上記のようにすることで dataの変数にJsonData型で取り扱うことができる
dataにはUserId=1、UserName=”Tanaka”の値が設定されている
実行すると{1 Tanaka}
と出力される
$ go run main.go
{1 Tanaka}