Protobuf テキストから JSON へのコンバーター
ガイド
Protobuf テキストから JSON へのコンバーター
Protobuf テキスト形式と JSON を瞬時に変換します。Protobuf TextProto(Protocol Buffer メッセージの人間が読めるテキスト表現)を JSON に解析するか、JSON を Protobuf テキスト形式に変換します。ネストされたメッセージ、繰り返しフィールド、設定可能なインデントをサポートします。
使用方法
変換方向(Protobuf テキスト → JSON または JSON → Protobuf テキスト)を選択し、入力を貼り付け、インデントサイズを選択すると、結果が瞬時に表示されます。組み込みの例を使用して、JSON に変換された実際の Protobuf メッセージを確認してください。
機能
- 双方向変換 – TextProto から JSON、および JSON から TextProto へ
- ネストされたメッセージのサポート – 任意に深いメッセージのネストを処理します
- 繰り返しフィールド – 繰り返しの Protobuf フィールドを JSON 配列に正しく変換します
- 設定可能なインデント – 出力フォーマットに 2 または 4 スペースを選択します
- 例のプリセット – 参考のための実際の Protobuf メッセージ
- クライアントサイドのみ – データはブラウザから離れることはありません
よくある質問
-
Protobuf テキスト形式(TextProto)とは?
TextProto は、Protocol Buffer メッセージの人間が読めるテキスト表現であり、主に設定ファイル、テストフィクスチャ、デバッグ出力に使用されます。転送に使用されるバイナリワイヤフォーマットとは異なり、TextProto はフィールド名を使用し、スキーマなしで読み取ることができます。スカラーの場合は field_name: value、ネストされたメッセージの場合は field_name { ... } です。これは本番環境での標準的なシリアル化フォーマットではありませんが、Google の内部ツールや TensorFlow の設定ファイルでは一般的です。
-
Protobuf バイナリフォーマットと JSON の違いは何ですか?
Protobuf バイナリフォーマットは、フィールド番号(名前ではなく)と varint エンコーディングを使用して、コンパクトで解析が高速なメッセージを生成します。Protobuf メッセージの JSON 相当は、通常 3〜5 倍大きくなります。ただし、Protobuf バイナリは自己記述的ではありません。デコードするには .proto スキーマが必要です。JSON は自己記述的で人間が読めます。高スループットの内部 API では Protobuf が好まれ、公開 API や設定では JSON が好まれます。
-
TextProto と JSON の間で変換する必要があるのはいつですか?
一般的なシナリオとしては、プロトベースのシステム(TensorFlow、Bazel)から JSON ベースのシステムへの設定ファイルの移行、読みやすい JSON への変換による Protobuf メッセージのデバッグ、Protobuf を消費するシステム用の JSON でのテストフィクスチャの作成、TextProto 形式で保存された ML モデル構成の検査などが挙げられます。変換は、Protobuf Any や生のバイトなど、JSON に同等の型がない場合はロスが発生するため、出力は注意深く確認してください。
-
スキーマなしでの Protobuf テキストから JSON への変換の制限は何ですか?
.proto スキーマがない場合、コンバーターはフィールドの型(int32 か int64 か文字列か)を知ることができず、構造だけではオプション、必須、または繰り返しフィールドを区別できません。単一の値を持つ繰り返しフィールドは、オプションフィールドと見分けがつきません。列挙型は、シンボリック名なしで整数として表示されます。このツールは最善の努力で構造的な変換を行いますが、本番環境での使用には、スキーマを利用して公式の protoc JSON マッピングを使用してください。
恵 スコアボードが到着しました!
スコアボード ゲームを追跡する楽しい方法です。すべてのデータはブラウザに保存されます。さらに多くの機能がまもなく登場します!
