Go で JSON 配列を解析する方法
Go では、encoding/json パッケージは、JSON データを Go 構造体にアンマーシャリングするためのサポートを提供します。 JSON 配列を解析するには、次の手順を使用できます。
Go 構造体を定義します。 JSON 内の個々の要素の形状を表す構造体を定義します。配列。たとえば、JSON 配列に名前フィールドと価格フィールドを持つオブジェクトが含まれている場合、次の構造体を定義します:
type PublicKey struct { Name string Price string }
注: 構造体のフィールド名がフィールドと一致していることを確認してください。 JSON 配列内の名前。
構造体のスライスを作成します: 解析されたデータを保持するために定義された構造体型のスライスを作成します:
var keys []PublicKey
JSON をアンマーシャルします: json.Unmarshal() 関数を使用して、JSON 配列を構造体のスライスにアンマーシャルします:
err := json.Unmarshal([]byte(jsonStr), &keys)
ここで jsonStr解析する JSON データです。
エラーを処理します: アンマーシャリング中に発生したエラーを確認します。エラーが発生した場合は、err 変数に保存されます:
if err != nil { // Handle the error }
解析されたデータにアクセスします: JSON 配列が解析されると、アクセスできます。構造体のスライスの個々の要素:
for _, key := range keys { fmt.Println(key.Name, key.Price) }
次のコードは、上記の手順:
出力:package main import ( "encoding/json" "fmt" ) type PublicKey struct { Name string Price string } func main() { jsonStr := `[{"name":"Galaxy Nexus", "price":"3460.00"},{"name":"Galaxy Nexus", "price":"3460.00"}]` var keys []PublicKey err := json.Unmarshal([]byte(jsonStr), &keys) if err == nil { for _, key := range keys { fmt.Println(key.Name, key.Price) } } else { fmt.Println(err) } }
以上がGo で JSON 配列を解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。