012-golang結構體或map轉換成json
阿新 • • 發佈:2018-11-07
先來說結構體
func main() { stu:=Student{"張三",20,[]string{"男","未婚"}} bytes, err := json.Marshal(stu) if err != nil { fmt.Println(err) return } fmt.Println(string(bytes)) } type Student struct { Name string Age int Data []string }
我們來看看轉換的json結果
{"Name":"張三","Age":20,"Data":["男","未婚"]}
這裡的key必須是首字母大寫,如果不想要首字母大寫
我們可以用struct結構體的tag
type Student struct { Name string `json:"name"` Age int `json:"age"` Data []string `json:"data"` }
注意這裡的tag要用`這個符號哦 ```
然後如果我們想把json格式化一下
可以用另一個方法
func main() { stu := Student{"張三", 20, []string{"男", "未婚"}} bytes, err := json.MarshalIndent(stu, "", " ") if err != nil { fmt.Println(err) return } fmt.Println(string(bytes)) } type Student struct { Name string `json:"name"` Age int `json:"age"` Data []string `json:"data"` }
再看一下輸出的json結果
{
"name": "張三",
"age": 20,
"data": [
"男",
"未婚"
]
}
這樣就已經格式化好了
更加的美觀