Go語言作為一種靜態語言,通過默認類型推斷來更好地處理數據,因此它對JSON格式解析的支持非常強大。但是,Go不強制要求在編寫JSON時定義格式,盡管您可以使用JSON tags 或 encoder 和 decoder 來控制輸出,但它并不像其他語言那樣需要使用類似于Schema的格式來定義JSON。
package main import ( "encoding/json" "fmt" ) type Person struct { Name string `json:"name"` // 使用json tag來定義json key Age int `json:"age"` Hobbies []string `json:"hobbies"` } func main() { person := Person{ Name: "Tom", Age: 30, Hobbies: []string{"reading", "swimming", "traveling"}, } bytes, err := json.Marshal(&person) if err != nil { fmt.Println(err) return } fmt.Println(string(bytes)) } 輸出: {"name":"Tom","age":30,"hobbies":["reading","swimming","traveling"]}
在這個例子中,我們使用json:"key"
來為每個字段指定JSON鍵。如果沒有指定,則默認將字段名變為snake_case格式。在編碼期間,通過在指向該結構體的指針上調用json.Marshal,將結構體編碼為JSON字符串。JSON的格式及其鍵值由結構體的定義和標記指定。
總之,Go非常靈活并且無需以Schema格式定義JSON。如果您需要更多的控制權,使用JSON tag或encoder和decoder是非常容易的。
上一篇html小人圖標代碼
下一篇html小作品網頁代碼