Maison  >  Article  >  développement back-end  >  Comment désorganiser correctement JSON dans un champ Protobuf Struct de type google.protobuf.Value ?

Comment désorganiser correctement JSON dans un champ Protobuf Struct de type google.protobuf.Value ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-03 03:15:02932parcourir

How to Properly Unmarshal JSON into a Protobuf Struct Field of Type google.protobuf.Value?

Désagrégation des champs de structure Protobuf à partir de JSON

Lorsque vous essayez de désorganiser une chaîne JSON dans un champ de structure protobuf de type google.protobuf.Value, le champ résultant peut devenir nil. Cela peut se produire lors de l'utilisation de la bibliothèque "encoding/json" pour la conversion de données.

Solution :

Pour désorganiser correctement JSON dans un champ google.protobuf.Value, il il est recommandé d'utiliser le package google.golang.org/protobuf/encoding/protojson. Le code correct pour le démarshalling serait :

req := &proto.JobCreateRequest{}
err := protojson.Unmarshal(bytes, req)

Ce package fournit un décodeur spécialisé pour convertir JSON en structures protobuf. Il gère correctement la conversion des champs google.protobuf.Value, garantissant qu'ils sont correctement désorganisés.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn