JSONレスポンスをGo構造体に変換する

40項目のAPIペイロードに手でstructフィールドを書くとタイポが混入します。サンプルを貼ればタグ付きの構造体が出ます。

このガイドで使う道具

やりたいこと

新しいAPIクライアントを実装していて、ドキュメントが仕様書ではなくJSON例だけを提供している場合。structフィールド・JSONタグ・ネストは例から生成でき、推論できなかった型だけ確認すればよいです。

サンプルを貼る

実際のレスポンスを入力に貼り付けて生成します。名前付きルート型とネストしたstructが出て、各フィールドにはワイヤキーに合わせた`json:"name"`タグが付きます。

  • 配列は要素全体でマージされます — ある要素がフィールドを省略していてもフィールドは生成されます。
  • null値のフィールドはサンプルから型を決められないため、interface{}相当になります。APIが実際に送る値があれば例に含めてください。

コミット前に

フィールド名はPascalCase + 一般的な頭字語(Id→ID, Url→URL)で生成されます。出力はコンパイルできますが、整数と浮動小数点は目視確認してください — 整数しか見えないサンプルではAPIが小数を送らない証明にはなりません。入力上限は2,000,000文字・深さ40です。