ホームページ > バックエンド開発 > Golang > Protobuf 拡張機能の JSON 名をカスタマイズするにはどうすればよいですか?

Protobuf 拡張機能の JSON 名をカスタマイズするにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-28 08:51:11
オリジナル
846 人が閲覧しました

How Can I Customize JSON Names for Protobuf Extensions?

Protobuf 拡張機能の JSON 名のカスタマイズ

拡張メッセージがメッセージに追加されるシナリオでは、カスタム JSON を指定することが望ましいです。 [message.extension_message_name] のデフォルト形式ではなく、拡張メッセージの名前。この記事では、このニーズに対処し、回避策を提供します。

問題で述べたように、Protobuf の拡張メッセージの JSON 名は [desc.Name] として自動的に設定されます。ただし、この命名規則は場合によっては適切ではない場合があります。特に拡張メッセージが API の他の場所で使用されており、デフォルト名を使用すると混乱が生じる可能性があります。

この問題に対処するには、解決策は次のとおりです。 json_name フィールド オプション。 Protobuf 言語ガイドによると、メッセージ フィールド名は小文字のキャメルケースに変換され、JSON オブジェクト キーになります。 json_name フィールド オプションを指定すると、デフォルトの動作をオーバーライドしてカスタム JSON 名を指定できます。

たとえば、次の Protobuf 定義を考えてみましょう。

message TestMessage {
    string myField = 1 [json_name="my_special_field_name"];
}
ログイン後にコピー

この定義では、 TestMessage は JSON にマーシャリングされ、myField は JSON 内で my_special_field_name として表示されます。

この回避策により、開発者は拡張メッセージの JSON 名をカスタマイズして、アプリケーション固有のニーズに合わせて、潜在的な混乱を軽減できます。

以上がProtobuf 拡張機能の JSON 名をカスタマイズするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート