JSONからGo構造体へ

代表的なJSONオブジェクトまたは配列から、ネスト型、エクスポート可能なフィールド名、元のプロパティ名を保持するjsonタグを含むGo構造体宣言を生成します。

パッケージ名とルート型名を指定し、有効なエクスポートフィールドと元のプロパティ名を保持するjsonタグを含む完全なGoソースファイルを生成します。アプリケーションで型を使う前に、サンプルに基づいて推論された内容を確認してください。

JSON値からGo型への対応

JSONからGo構造体を生成する方法

  1. JSONオブジェクトまたは空でない配列を貼り付けるか、サンプルデータを読み込みます。
  2. パッケージ名とルート型名を指定し、jsonタグにomitemptyを追加するか選択します。
  3. Goソースを生成して推論された型を確認し、結果をコピーまたはダウンロードします。

JSONからGo構造体への変換に関するよくある質問

どのようなJSONを入力できますか?

1つのJSONオブジェクト、または空でないJSON配列を入力できます。最上位の配列は名前付きスライスになり、配列内のすべてのオブジェクト要素がフィールドの推論に使われます。プロパティ名はGo標準のencoding/jsonのstructタグで表現できる必要があります。対応していない名前は暗黙に変更されず、エラーになります。

オブジェクト配列と欠落フィールドはどのように扱われますか?

オブジェクト配列では、すべてのサンプル要素のキーが統合されます。一部の要素だけに存在するフィールドも、存在する値から生成されます。omitemptyオプションはすべてのjsonタグを変更しますが、ポインターの追加や必須フィールドの検証は行いません。

nullや異なる型が混在する値はどうなりますか?

null、不一致な型が混在する値、または不一致な値を含む配列はanyになります。空の配列はサンプルから要素型を判断できないため[]anyになります。

生成された型を確認せずに使用できますか?

結果はサンプルから生成された出発点として使用してください。プロジェクトに型を追加する前に、任意フィールド、時刻文字列、mapのようなオブジェクト、数値範囲、JSON数値で正確に表せる範囲を超える可能性がある識別子を確認してください。

JSONはアップロードされますか?

いいえ。JSONはこのツールによって現在のブラウザタブ内で解析・変換され、サーバーにはアップロードされません。

関連ツール: JSONフォーマッター · JSONからTypeScriptへ · JSON Schemaジェネレーター