Entmarshalling von Protobuf-Strukturfeldern aus JSON
Beim Versuch, eine JSON-Zeichenfolge in ein Protobuf-Strukturfeld vom Typ google.protobuf.Value zu entmarshallen, Das resultierende Feld kann Null werden. Dies kann auftreten, wenn die Bibliothek „encoding/json“ für die Datenkonvertierung verwendet wird.
Lösung:
Um JSON korrekt in ein google.protobuf.Value-Feld zu entmarshalieren, muss es Es wird empfohlen, das Paket google.golang.org/protobuf/encoding/protojson zu verwenden. Der richtige Code für das Unmarshalling wäre:
req := &proto.JobCreateRequest{} err := protojson.Unmarshal(bytes, req)
Dieses Paket stellt einen speziellen Decoder zum Konvertieren von JSON in Protobuf-Strukturen bereit. Es verarbeitet die Konvertierung von google.protobuf.Value-Feldern korrekt und stellt sicher, dass sie ordnungsgemäß entmarshallt werden.
Das obige ist der detaillierte Inhalt vonWie entmarshaliere ich JSON ordnungsgemäß in ein Protobuf-Strukturfeld vom Typ google.protobuf.Value?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!