Skip to content

ファイル操作関数

json パッケージが提供するファイル操作関数。ファイル読み書きとストリーミング I/O をサポートします。

ファイル読み込み関数

LoadFromFile

シグネチャ:func LoadFromFile(filePath string, cfg ...Config) (string, error)

ファイルから JSON データをロードします。

パラメータ

名前必須説明
filePathstringはいファイルパス
cfgConfigいいえオプション設定
go
data, err := json.LoadFromFile("config.json")
if err != nil {
    panic(err)
}
fmt.Println(data)

SaveToFile

シグネチャ:func SaveToFile(filePath string, data any, cfg ...Config) error

JSON データをファイルに保存します。

パラメータ

名前必須説明
filePathstringはいファイルパス
dataanyはい保存するデータ
cfgConfigいいえオプション設定
go
err := json.SaveToFile("output.json", map[string]any{
    "name": "Alice",
    "age":  30,
})
if err != nil {
    panic(err)
}

MarshalToFile

シグネチャ:func MarshalToFile(filePath string, data any, cfg ...Config) error

データをシリアライズしてファイルに書き込みます。

パラメータ

名前必須説明
filePathstringはいファイルパス
dataanyはいシリアライズするデータ
cfgConfigいいえオプション設定
go
err := json.MarshalToFile("data.json", myStruct)

UnmarshalFromFile

シグネチャ:func UnmarshalFromFile(filePath string, v any, cfg ...Config) error

ファイルからデータを読み込んでデシリアライズします。

パラメータ

名前必須説明
filePathstringはいファイルパス
vanyはいターゲットオブジェクトのポインタ
cfgConfigいいえオプション設定
go
var config MyConfig
err := json.UnmarshalFromFile("config.json", &config)
if err != nil {
    panic(err)
}

LoadFromReader

シグネチャ:func LoadFromReader(reader io.Reader, cfg ...Config) (string, error)

io.Reader から JSON データをロードします。ネットワーク接続、HTTP リクエストボディなどのストリーミングデータソースから JSON を読み込むのに適しています。

パラメータ

名前必須説明
readerio.Readerはいデータソース
cfgConfigいいえオプション設定
go
// HTTP レスポンスボディから読み込み
resp, _ := http.Get("https://api.example.com/data")
defer resp.Body.Close()
data, err := json.LoadFromReader(resp.Body)

// 文字列から読み込み
data, err = json.LoadFromReader(strings.NewReader(`{"name":"test"}`))

SaveToWriter

シグネチャ:func SaveToWriter(writer io.Writer, data any, cfg ...Config) error

JSON データを io.Writer に書き込みます。

パラメータ

名前必須説明
writerio.Writerはい出力先
dataanyはい書き込むデータ
cfgConfigいいえオプション設定
go
var buf bytes.Buffer
err := json.SaveToWriter(&buf, map[string]any{"name": "test"})
if err != nil {
    panic(err)
}

関連