【実務向け】Go JSON変換の方法|エンコード・デコード完全ガイド

プログラム

Go言語でAPI開発を行う上で、必ず必要になるのがJSONの変換処理です。
フロントエンドや外部サービスと連携するために、JSONの扱いは必須スキルです。

本記事では、GoでのJSON変換について「基本・実装・実務での使い方」を解説します。


JSONとは?

👉 データをやり取りするためのフォーマット
👉 API通信の標準形式


JSONエンコード(Go → JSON)

type User struct {
Name string `json:"name"`
}

user := User{Name: "Tomoya"}
json.NewEncoder(w).Encode(user)

👉 構造体 → JSONに変換


JSONデコード(JSON → Go)

var user User
json.NewDecoder(r.Body).Decode(&user)

👉 JSON → 構造体に変換


structタグの使い方

type User struct {
Name string `json:"name"`
}

👉 JSONのキー名を指定


実務での使い方

✔ APIレスポンス

w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(data)

✔ APIリクエスト受信

json.NewDecoder(r.Body).Decode(&data)

よくあるミス

❌ jsonタグ忘れ
❌ 型不一致
❌ エラーハンドリングなし


ベストプラクティス

  • structで管理
  • jsonタグ必須
  • errorチェック必須
  • APIとセットで使う

💡 結論

👉
「JSON処理=API開発の基礎

コメント

タイトルとURLをコピーしました