ホームページ >バックエンド開発 >Golang >Golang で JSON データを解析するにはどうすればよいですか?

Golang で JSON データを解析するにはどうすればよいですか?

WBOY
WBOYオリジナル
2024-06-03 15:33:09562ブラウズ

Golang による JSON データの解析には、主に 4 つの手順が含まれます: json、fmt、ioutil を含む パッケージをインポートします。ファイルから JSON データを読み取ります。 JSON データを構造体またはマップにデコードします。マップ内のキーと値のペアにアクセスするか、デコードされた構造体を使用します。

如何在 Golang 中解析 JSON 数据?

Golang で JSON データを解析する方法

Golang は、次の手順で実行できる JSON データを処理する強力なツールを提供します。

1. 必要なパッケージをインポートします

import (
    "encoding/json"
    "fmt"
    "io/ioutil"
)

2.ファイル

jsonFile, err := ioutil.ReadFile("data.json")
if err != nil {
    fmt.Println("Error reading JSON file:", err)
    return
}

3. JSON データを構造体またはマップにデコードします

構造体にデコードします:

type Person struct {
    Name string
    Age  int
}

var person Person
err = json.Unmarshal(jsonFile, &person)
if err != nil {
    fmt.Println("Error decoding JSON data:", err)
    return
}

マップにデコードします:

var data map[string]interface{}
err = json.Unmarshal(jsonFile, &data)
if err != nil {
    fmt.Println("Error decoding JSON data:", err)
    return
}

// 访问 map中的键值对
fmt.Println("Name:", data["Name"])

実際的なケース

JSON ファイルを読み取り、名前と年齢を出力します:

RRee

次の JSON データをファイルに保存します:

package main

import (
    "encoding/json"
    "fmt"
    "io/ioutil"
)

type Person struct {
    Name string
    Age  int
}

func main() {
    jsonFile, err := ioutil.ReadFile("data.json")
    if err != nil {
        fmt.Println("Error reading JSON file:", err)
        return
    }

    var person Person
    err = json.Unmarshal(jsonFile, &person)
    if err != nil {
        fmt.Println("Error decoding JSON data:", err)
        return
    }

    fmt.Printf("Name: %s, Age: %d\n", person.Name, person.Age)
}

その後、プログラムを実行すると、出力は次のようになります:

{
  "Name": "John Doe",
  "Age": 30
}

以上がGolang で JSON データを解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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