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

Bagaimanakah Saya Boleh Menyesuaikan Nama Medan Sambungan Protobuf dalam Output JSON?

Patricia Arquette
Lepaskan: 2024-11-26 15:17:13
asal
800 orang telah melayarinya

How Can I Customize Protobuf Extension Field Names in JSON Output?

Menyesuaikan Nama Medan Sambungan Protobuf dalam JSON

Apabila memanjangkan mesej dalam Penampan Protokol (protobuf) dan menyusunnya sebagai JSON, nama medan untuk mesej lanjutan biasanya muncul dalam kurungan dengan awalan "message.extension_message_name." Ini boleh menyusahkan dan mengelirukan, terutamanya jika mesej sambungan digunakan di tempat lain dalam API dengan nama yang berbeza.

Isu ini berpunca daripada logik dalam perpustakaan jsonpb Protobuf, di mana nama JSON ditetapkan sebagai "[% s]" desc.Name, dengan desc.Name mewakili nama medan sambungan yang tidak layak.

Untuk memintas pengehadan ini, panduan bahasa mencadangkan menggunakan pilihan medan json_name untuk mengatasi nama JSON lalai. Dengan menambahkan json_name = "custom_name" pada medan sambungan, medan akan disirikan dengan custom_name yang ditentukan dalam JSON:

message TestMessage {
    extend TestMessage {
        ExtensionPlacement extension_message_name = 10;
        String messageField = 10 [json_name = "customFieldName"];
    }
}
Salin selepas log masuk

Dengan pengubahsuaian ini, medan lanjutan akan muncul sebagai "customFieldName" dalam JSON, sebagai dikehendaki.

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

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan