Go 語言作為一種強類型編程語言,廣泛應用于服務端開發,特別是在互聯網數據處理方面很有優勢。常常需要將數據以 JSON 格式輸出。Go 語言的標準庫提供了豐富的支持,可以非常方便地生成 JSON 格式的文件。
package main
import (
"encoding/json"
"fmt"
"os"
)
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
IsAdult bool `json:"is_adult"`
}
func main() {
p1 := Person{Name: "Tom", Age: 20, IsAdult: false}
p2 := Person{Name: "Lucy", Age: 18, IsAdult: false}
people := []Person{p1, p2}
file, _ := os.Create("people.json")
defer file.Close()
encoder := json.NewEncoder(file)
encoder.SetIndent("", " ")
err := encoder.Encode(people)
if err != nil {
fmt.Println("Encode error:", err)
}
}
以上代碼中,我們首先定義了一個人類的結構體Person
。Go 語言中可以使用 `backtick` 來定義結構體成員的標簽。這里使用了 `json` 標簽,定義了輸出 JSON 格式時對應的鍵名。
在 `main()` 函數中,我們創建了兩個人的實例,并將它們放入一個人的切片中。然后創建了一個文件,使用 `os.Create()` 函數。這個函數會返回一個指向創建文件的指針和一個可能發生的錯誤結果。
接下來,我們使用 `json.NewEncoder()` 方法創建了一個新的編碼器。然后使用 `encoder.SetIndent()` 方法定義了輸出格式,第一個參數是前綴,第二個參數是縮進。
最后使用 `encoder.Encode()` 方法將數據寫入文件中,如果出現錯誤則在控制臺輸出錯誤信息。
以上代碼運行后會在程序所在目錄下生成一個文件,文件名為 `people.json`。打開文件,可以看到文件內容如下:
[
{
"name": "Tom",
"age": 20,
"is_adult": false
},
{
"name": "Lucy",
"age": 18,
"is_adult": false
}
]
可以看到,程序成功地將定義的結構體轉換成了 JSON 格式的文件。使用 Go 語言生成 JSON 格式的文件非常方便,只需要另外一個庫即可做到。這里僅是一個簡單的例子,更多高級用法可以參考官方文檔。
上一篇Vue導入表項目