Go 言語を使用した JSON デシリアライズ (アンマーシャル) のプロセスでは、処理できないエラー フィールドが発生することがあります。これらのエラー フィールドによりプログラムが終了し、コードの通常の実行に影響を与える可能性があります。では、アンマーシャル プロセス中にこれらのエラー フィールドをスキップする方法はあるのでしょうか?答えは「はい」です。この記事では、Go 言語のいくつかのテクニックを使用して、アンマーシャル中に発生したエラー フィールドをスキップする方法を紹介します。
バイト配列を構造体に変換するためにjson.Unmarshal(body, OutputStruct)
を使用しています。アンマーシャリング中にエラーが発生する場合があります。
たとえば、構造は次のとおりです:
リーリー quantity
を整数ではなく浮動小数点値として渡すと、エラーがスローされます。有効なフィールドのみをアンマーシャリングし、エラーのあるフィールドをスキップする方法を知りたいですか?
したがって、json をアンマーシャリングすると:
リーリー構造から price
値を取得したいだけですが、数量は初期デフォルト値のままにします。
それはできません。
JSON に float が含まれている場合、それらを int にアンマーシャリングすることはできません。絶対です:###
)
Quantity を無視して、失敗しないようにし、数量 (新しい構造) の 2 回目のアンマーシャリングのみを実行します。 ) エラーをグループ化して無視します。
以上がGoで「アンマーシャル」中にエラーフィールドをスキップするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。