Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Menyesuaikan Nama Medan JSON untuk Sambungan Protobuf?

Bagaimanakah Saya Boleh Menyesuaikan Nama Medan JSON untuk Sambungan Protobuf?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-09 06:25:10384semak imbas

How Can I Customize JSON Field Names for Protobuf Extensions?

Menyesuaikan Nama Medan JSON untuk Sambungan Protobuf

Pelanjutan Protobuf, apabila disirikan kepada JSON, lalai kepada nama medan yang termasuk kurungan segi empat sama dan awalan menunjukkan mesej induk sambungan. Ini boleh menyusahkan apabila anda lebih suka nama medan JSON yang lebih ringkas atau bermakna secara semantik.

Latar Belakang

Pakej jsonpb Protobuf menjana JSON daripada mesej protobuf. Nama medan JSON terutamanya berasal daripada nama medan mesej. Walau bagaimanapun, untuk sambungan, format khas digunakan: "[message.extension_message_name]". Ini direka bentuk untuk mengelakkan konflik nama medan apabila berbilang sambungan digunakan pada mesej.

Penyelesaian: Gunakan Pilihan Medan json_name

Panduan bahasa Protobuf menyediakan penyelesaian untuk menyesuaikan nama medan JSON untuk sambungan: pilihan medan json_name. Dengan menganotasi medan sambungan dengan pilihan ini, anda boleh menentukan nama medan JSON yang dikehendaki.

Contohnya:

message TestMessage {
    extensions 1 to 10;
    extend TestMessage {
        optional string my_extension_field = 1 [json_name="my_custom_field_name"];
    }
}

Dalam contoh ini, medan sambungan my_extension_field akan disirikan kepada JSON sebagai my_custom_field_name.

Faedah Menggunakan json_name

  • Kawalan ke atas nama medan JSON: Mengelakkan konvensyen penamaan kata yang digunakan untuk sambungan.
  • Kekonsistenan dengan nama medan JSON yang lain: Menjajarkan nama medan sambungan dengan konvensyen penamaan yang digunakan untuk mesej biasa medan.
  • Kebolehbacaan dan kebolehselenggaraan yang dipertingkatkan: Menjadikan output JSON lebih mudah dibaca manusia dan lebih mudah untuk digunakan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyesuaikan Nama Medan JSON untuk Sambungan Protobuf?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn