JSON を Go 構造体に解析する
JSON を Go 構造体に解析すると、構造化データ構成に簡単にアクセスできるようになります。提供されたコード スニペットはエラーなしでコンパイルされますが、構造体のフィールドに正しい値を設定できません。
問題への対処
問題は、エクスポートされたステータスにあります。構造体の要素。 Go では、JSON パッケージによるエンコード/デコード中に struct 要素にアクセスできるようにするには、大文字で始まる必要があります。これにより、パッケージの外部から要素にアクセスできるようになります。
コードの修正
問題を解決するには、各構造体要素の最初の文字を大文字にする必要があります。 。修正されたコードは次のようになります。
var settings struct { ServerMode bool `json:"serverMode"` SourceDir string `json:"sourceDir"` TargetDir string `json:"targetDir"` }
構造体要素名を大文字にすることで、基本的に構造体要素名をエクスポートし、JSON エンコードおよびデコードでアクセスできるようになります。これで、JSON パーサーは、JSON ファイル内の対応するフィールド名を検出すると、解析された値を構造体フィールドに正しく割り当てます。
予想される出力
作成後この修正により、プログラムは config.json ファイルで指定された正しい設定値を出力するはずです:
true . .
以上がJSON を解析して Go 構造体に取り込むことができないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。