この記事は、Golang での JSON 配列の解析に焦点を当てています。このタスクの複雑さを見てみましょう:
提供されたコードは JSON 配列解析の中核機能を示していますが、正しく動作するのを妨げる重大なエラーがあります。 JSON パッケージによるアクセスを有効にするには、PublicKey 構造体のフィールドをエクスポートする必要があります。
type PublicKey struct { Name string // Error: missing export keyword Price string // Error: missing export keyword }
これらのフィールドをエクスポートすることで、パーサーはアンマーシャリング プロセス中にそれらの値に正常にアクセスできます。
type PublicKey struct { Name string Price string }
JSON Text と Go 構造を理解する
JSON フィールド名は大文字と小文字が区別されず、JSON パッケージはそれらを対応する構造体フィールドと照合することに優れていることに注意してください。ただし、フィールド名が構造体と比較して JSON テキストで大幅に異なる場合は、構造体タグを利用して、フィールドのマッピングで JSON パッケージをガイドできます。例:
type PublicKey struct { Name string `json:"some_name"` Price string `json:"JsonPrice"` }
複雑な JSON データの解析
提供したより複雑な JSON データの場合、アプローチは同じです:
代替アプローチ
JSON 構造がカスタム Go 構造体に簡単に対応できない場合は、マップのスライス ([]map[) にアンマーシャリングすることを検討できます。文字列]インターフェイス{})。これにより、データへのアクセスの柔軟性が向上しますが、マップのインデックス作成や値の取得のための型アサーションの使用など、より多くの手動操作が必要になります。
要約すると、構造体フィールドをエクスポートし、複雑なフィールド名に構造体タグを使用し、 JSON データ構造に最適なアプローチ。
以上がGo で JSON 配列を解析する方法: 成功の鍵は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。