問題:
メッセージを拡張して JSON としてマーシャリングする場合、フィールド名は拡張メッセージのデフォルトは「[message.extension_message_name]」です。これは、不必要な複雑さと混乱を招くため、望ましくない場合があります。
解決策:
protobuf 拡張メッセージの JSON 名をカスタマイズするには、json_name フィールド オプションを利用します。角括弧内に目的の名前を指定すると、デフォルトの動作をオーバーライドできます。例:
message TestMessage { string myField = 1 [json_name="my_special_field_name"]; }
TestMessage を JSON にマーシャリングすると、フィールド myField が my_special_field_name という名前で表示されます。これは、メッセージ フィールドの JSON キーをカスタマイズするために json_name を使用するという言語ガイドの推奨事項と一致しています。
以上がProtobuf 拡張メッセージの JSON フィールド名をカスタマイズするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。