ホームページ >バックエンド開発 >Golang >Go で JSON 配列を解析する方法: 成功の鍵は何ですか?

Go で JSON 配列を解析する方法: 成功の鍵は何ですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-19 07:44:021005ブラウズ

How to Parse JSON Arrays in Go: What's the Key to Success?

Go で JSON 配列を解析する方法

この記事は、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 構造体を定義します。
  • 構造体タグを (必要に応じて) 使用して、フィールドを別の名前でマップします。
  • JSON データをこの構造体のスライスにアンマーシャリングします。

代替アプローチ

JSON 構造がカスタム Go 構造体に簡単に対応できない場合は、マップのスライス ([]map[) にアンマーシャリングすることを検討できます。文字列]インターフェイス{})。これにより、データへのアクセスの柔軟性が向上しますが、マップのインデックス作成や値の取得のための型アサーションの使用など、より多くの手動操作が必要になります。

要約すると、構造体フィールドをエクスポートし、複雑なフィールド名に構造体タグを使用し、 JSON データ構造に最適なアプローチ。

以上がGo で JSON 配列を解析する方法: 成功の鍵は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。