JSON to Protobuf スキーマコンバーター (proto3)
開発
JSON オブジェクトや配列を貼り付けると、すぐに使える Protocol Buffers(proto3)スキーマが得られます。フィールドは proto スカラー型(string、int64、double、bool)にマッピングされ、配列は repeated フィールドに、ネストされたオブジェクトは個別の message になります。lower_snake_case でないキーには [json_name = "..."] オプションが追加され、標準 JSON マッピングが元のキーと一致します。すべてブラウザ内でローカルに実行され、JSON はアップロードされません。
—
Protobuf スキーマ
使い方
- 入力ボックスに JSON を貼り付けるか入力します。
- 必要に応じてルートメッセージ名を変更します(デフォルトは Message)。
- 出力ボックスから生成された .proto スキーマをコピーします。
よくある質問
- 数値はどう型付けされますか?
- 整数は int64、小数点を含む数値は double になります。別の幅が必要な場合は int32、uint32、float などに変更してください。
- null、空配列、ネストされた配列はどうなりますか?
- これらは google.protobuf.Value にマッピングされ(import "google/protobuf/struct.proto" が追加されます)、proto3 にはネイティブの null がなく、repeated repeated フィールドを許可しないためです。
- 一部のフィールドに json_name オプションがあるのはなぜですか?
- proto フィールド名は lower_snake_case です。標準の camelCase JSON マッピングが元のキーを再現できない場合、[json_name = "..."] オプションが追加され JSON が正しく往復します。
- 私の JSON はどこかに送信されますか?
- いいえ。変換は完全にブラウザ内で行われ、何もアップロードされません。
関連ツール
Base64 ↔ 16進数 変換
Base64 文字列を16進数バイトに、16進数を Base64 に戻します。URL セーフ対応、ブラウザ上で動作します。
開発00
Quoted-Printable エンコーダー & デコーダー
テキストを MIME Quoted-Printable(RFC 2045)にエンコード、または復号 — =XX エスケープ・ソフト改行・UTF-8 に対応、エンコード時は 76 文字で折り返し — ブラウザ内で。
開発00
ハッシュ生成 (SHA)
テキストから SHA-1・SHA-256・SHA-384・SHA-512 ハッシュを生成。
開発00
URL エンコーダー / デコーダー
URL 用にテキストをパーセントエンコード、または URL をデコード。
開発00
Base64 エンコーダー / デコーダー
テキストを Base64 にエンコード、または Base64 をテキストにデコード。
開発00
JSON フォーマッター & バリデーター
ブラウザで JSON を整形・並べ替え・圧縮・検証できます。
開発00