Golang による JSON データの解析には、主に 4 つの手順が含まれます: json、fmt、ioutil を含む パッケージをインポートします。ファイルから JSON データを読み取ります。 JSON データを構造体またはマップにデコードします。マップ内のキーと値のペアにアクセスするか、デコードされた構造体を使用します。
Golang は、次の手順で実行できる JSON データを処理する強力なツールを提供します。
import ( "encoding/json" "fmt" "io/ioutil" )
jsonFile, err := ioutil.ReadFile("data.json") if err != nil { fmt.Println("Error reading JSON file:", err) return }
構造体にデコードします:
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 サイトの他の関連記事を参照してください。