Renommer les noms de champs JSON pour les extensions Protobuf
De nombreux développeurs rencontrent l'inconvénient d'avoir des noms de champs JSON pour les extensions Protobuf préfixés par "[message. nom_message_extension]". Pour résoudre ce problème, le comportement par défaut du module protobuf/jsonpb consistant à définir le JSONName avec un préfixe peut être contourné à l'aide de l'option de champ json_name.
Dans le guide du langage Protobuf, il est indiqué que les noms de champs pour les messages sont mappés à lowerCamelCase et deviennent des clés d'objet JSON. Cependant, spécifier l'option de champ json_name permet aux développeurs de remplacer ce comportement par défaut et d'utiliser un nom de clé personnalisé.
Par exemple, le message Protobuf suivant :
message TestMessage { string myField = 1 [json_name="my_special_field_name"]; }
entraînera le champ myField à portent le nom my_special_field_name lorsqu'ils sont marshalés vers JSON. Cela remplace efficacement le comportement par défaut consistant à préfixer le nom du message d'extension.
Grâce à cette méthode, les développeurs peuvent personnaliser les noms de champs JSON pour les extensions Protobuf, éliminant ainsi les préfixes inutiles et améliorant la clarté et la cohérence de leurs représentations JSON.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!