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開発の基礎


コメント