ホームページ  >  記事  >  バックエンド開発  >  値フィールドを含む JSON を Protobuf 構造体にデコードするにはどうすればよいですか?

値フィールドを含む JSON を Protobuf 構造体にデコードするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-30 01:35:28658ブラウズ

How to Decode JSON with Value Fields into Protobuf Structs?

Protobuf の値フィールドを使用して JSON をデコードする

指定された問題は、google.protobuf として定義された Protobuf struct フィールドに JSON をアンマーシャルしようとすると発生します。 。価値。根本的な問題は、このようなフィールドを処理する際のエンコーディング/json ライブラリと Protobuf ライブラリ間の非互換性です。

これを克服するには、Protobuf プロジェクトが提供する専用の protojson ライブラリを活用することをお勧めします。 protojson.Unmarshal 関数を使用すると、Value フィールドを含む JSON データを対応する Protobuf 構造体に正しくデコードできるようになります。

ここに、protojson.Unmarshal 関数の使用法を示す更新されたコード スニペットを示します。

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

この変更により問題が解決され、提供された JSON データを JobCreateRequest 構造体の Data フィールドに正常に入力できるようになります。

以上が値フィールドを含む JSON を Protobuf 構造体にデコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。