ホームページ > バックエンド開発 > Golang > Go のインターフェイス タイプを使用して JSON のマーシャリングとアンマーシャリングを効果的に処理するにはどうすればよいですか?

Go のインターフェイス タイプを使用して JSON のマーシャリングとアンマーシャリングを効果的に処理するにはどうすればよいですか?

DDD
リリース: 2024-12-15 15:35:10
オリジナル
536 人が閲覧しました

How Can I Effectively Handle JSON Marshaling and Unmarshaling with Go's Interface Types?

インターフェイス タイプへのマーシャリング

JSON マーシャリングとアンマーシャリングは、インターフェイス タイプを操作するときに課題を引き起こす可能性があります。この記事では、この問題を詳しく掘り下げ、解決策を提供します。

インターフェイスからのマーシャリング

基になる型がローカルで認識されており、リフレクターがそれを識別できるため、インターフェイス型からのマーシャリングは簡単です。

インターフェイスへのアンマーシャリング

インターフェイス タイプへのアンマーシャリングには問題があります。具体的な型がわからないと、リフレクターはマーシャリングされたデータを受け取る新しいインスタンスをインスタンス化できません。

問題の解決

この制限に対処する 1 つのアプローチは、カスタム型の Unmarshaler インターフェイスを実装することです。 。以下の例を参照してください:

この例では、RawString はマーシャラーとアンマーシャラーの両方を実装し、カスタム マーシャリングとアンマーシャリングを可能にします。次に、main 関数は json.Unmarshal を使用して JSON データを A のインスタンスにデコードします。

以上がGo のインターフェイス タイプを使用して JSON のマーシャリングとアンマーシャリングを効果的に処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート