Go語言是一門高效、安全、簡潔的編程語言,越來越多的開發(fā)者開始關(guān)注它。在Go語言中,讀取JSON格式的數(shù)據(jù)非常容易,可以使用內(nèi)置的encoding/json包。
首先,我們需要一個JSON文件,假設(shè)我們有一個文件名為person.json,內(nèi)容如下:
{ "name": "Tom", "age": 20, "address": { "city": "Shanghai", "country": "China" } }
接下來我們使用Go讀取JSON文件的代碼如下:
package main import ( "encoding/json" "fmt" "io/ioutil" ) type Person struct { Name string `json:"name"` Age int `json:"age"` Address struct { City string `json:"city"` Country string `json:"country"` } `json:"address"` } func main() { file, err := ioutil.ReadFile("person.json") if err != nil { fmt.Println("讀取文件失敗:", err) return } var person Person err = json.Unmarshal(file, &person) if err != nil { fmt.Println("解析JSON失敗:", err) return } fmt.Printf("姓名:%s,年齡:%d,城市:%s,國家:%s", person.Name, person.Age, person.Address.City, person.Address.Country) }
代碼解釋:
- 首先我們導(dǎo)入了encoding/json、fmt和io/ioutil三個包。
- 我們定義了一個名為Person的結(jié)構(gòu)體,用來存儲從JSON文件中讀取的數(shù)據(jù)。
- 在main函數(shù)中,我們使用ioutil.ReadFile()函數(shù)讀取person.json文件的內(nèi)容,返回一個字節(jié)數(shù)組。
- 使用json.Unmarshal()函數(shù)將JSON格式的數(shù)據(jù)解析成一個Person結(jié)構(gòu)體類型,并將其賦值給person變量。
- 最后,我們通過fmt.Printf()函數(shù)將person的各個屬性輸出。
這就是使用Go讀取JSON文件的簡單示例,相信對于喜歡Go語言的開發(fā)者來說,這是一件非常容易的事情。