Golang 解析 JSON 資料包含四個主要步驟:導入 आवश्यक包,包含 json、fmt 和 ioutil。從檔案中讀取 JSON 資料。將 JSON 資料解碼到結構體或 map 中。存取 map 中的鍵值對或使用解碼的結構體。
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 }
解碼到map 中:
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 檔案並列印姓名和年齡:
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) }
將以下JSON 資料儲存到檔案中:
{ "Name": "John Doe", "Age": 30 }
然後執行程序,輸出如下:
Name: John Doe, Age: 30
以上是如何在 Golang 中解析 JSON 資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!