Heim >Backend-Entwicklung >Golang >Wie dekodiere ich JSON mit Wertfeldern in Protobuf-Strukturen?

Wie dekodiere ich JSON mit Wertfeldern in Protobuf-Strukturen?

Susan Sarandon
Susan SarandonOriginal
2024-10-30 01:35:28717Durchsuche

How to Decode JSON with Value Fields into Protobuf Structs?

JSON mit Wertfeld in Protobuf dekodieren

Das angegebene Problem tritt auf, wenn versucht wird, JSON in ein Protobuf-Strukturfeld zu entmarshalieren, das als google.protobuf definiert ist .Wert. Das zugrunde liegende Problem ist die Inkompatibilität zwischen der Encoding/JSON-Bibliothek und der Protobuf-Bibliothek bei der Verarbeitung solcher Felder.

Um dieses Problem zu lösen, wird empfohlen, die speziell entwickelte Protojson-Bibliothek zu nutzen, die vom Protobuf-Projekt bereitgestellt wird. Durch den Einsatz der Funktion protojson.Unmarshal wird es möglich, JSON-Daten, die Wertfelder enthalten, korrekt in die entsprechenden Protobuf-Strukturen zu dekodieren.

Hier ist ein aktualisierter Codeausschnitt, der die Verwendung der Funktion protojson.Unmarshal demonstriert:

<code class="go">req := &proto.JobCreateRequest{}
err := protojson.Unmarshal(bytes, req)</code>

Diese Änderung sollte das Problem beheben und es Ihnen ermöglichen, das Datenfeld der JobCreateRequest-Struktur erfolgreich mit den bereitgestellten JSON-Daten zu füllen.

Das obige ist der detaillierte Inhalt vonWie dekodiere ich JSON mit Wertfeldern in Protobuf-Strukturen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn