首頁 > 後端開發 > Golang > 如何為 Protobuf 擴充功能自訂 JSON 名稱?

如何為 Protobuf 擴充功能自訂 JSON 名稱?

Patricia Arquette
發布: 2024-11-28 08:51:11
原創
845 人瀏覽過

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輸出,而不是預設的[TestMessage. myField]。

此解決方法允許開發人員為其擴展訊息自訂 JSON 名稱,使它們更符合應用程式的特定需求並減少潛在的混亂。

以上是如何為 Protobuf 擴充功能自訂 JSON 名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板