Go で JSON 配列を解析するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-19 20:23:03
オリジナル
462 人が閲覧しました

How do I parse a JSON array in Go?

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

Go では、encoding/json パッケージは、JSON データを Go 構造体にアンマーシャリングするためのサポートを提供します。 JSON 配列を解析するには、次の手順を使用できます。

  1. Go 構造体を定義します。 JSON 内の個々の要素の形状を表す構造体を定義します。配列。たとえば、JSON 配列に名前フィールドと価格フィールドを持つオブジェクトが含まれている場合、次の構造体を定義します:

    type PublicKey struct {
        Name string
        Price string
    }
    ログイン後にコピー

    注: 構造体のフィールド名がフィールドと一致していることを確認してください。 JSON 配列内の名前。

  2. 構造体のスライスを作成します: 解析されたデータを保持するために定義された構造体型のスライスを作成します:

    var keys []PublicKey
    ログイン後にコピー
  3. JSON をアンマーシャルします: json.Unmarshal() 関数を使用して、JSON 配列を構造体のスライスにアンマーシャルします:

    err := json.Unmarshal([]byte(jsonStr), &keys)
    ログイン後にコピー

    ここで jsonStr解析する JSON データです。

  4. エラーを処理します: アンマーシャリング中に発生したエラーを確認します。エラーが発生した場合は、err 変数に保存されます:

    if err != nil {
        // Handle the error
    }
    ログイン後にコピー
  5. 解析されたデータにアクセスします: 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 サイトの他の関連記事を参照してください。

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