ホームページ > バックエンド開発 > Golang > JSON を解析して Go 構造体に取り込むことができないのはなぜですか?

JSON を解析して Go 構造体に取り込むことができないのはなぜですか?

Linda Hamilton
リリース: 2024-11-12 04:25:02
オリジナル
260 人が閲覧しました

Why Can't I Parse JSON into My Go Struct?

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 サイトの他の関連記事を参照してください。

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