欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

golang json 導出設置

錢琪琛2年前8瀏覽0評論

在golang中,使用json.Marshal()函數可以將一個結構體轉換為Json格式的字符串。但是,在實際開發中,我們可能希望控制Json輸出的格式,例如修改字段名稱、指定字段是否導出等。這時候就需要使用golang提供的Json導出設置。

type Person struct {
Name string `json:"myName"`
Age  int    `json:"-"` // -表示忽略該字段
}
p := Person{"jack", 29}
jsonBytes, _ := json.Marshal(p)
fmt.Println(string(jsonBytes)) // {"myName":"jack"}

上述代碼中,我們定義了一個Person結構體,并且使用json注解修改了Name字段的輸出名稱為myName。另外,我們使用-符號阻止了Age字段的導出。

除了在結構體定義中使用注解的方式外,還可以使用json.Encoder的SetIndent方法設置縮進空格數。

p := Person{"jack", 29}
jsonBytes, _ := json.Marshal(p)
buf := bytes.NewBuffer(nil)
enc := json.NewEncoder(buf)
enc.SetIndent("", "    ")
enc.Encode(p)
fmt.Println(buf.String()) // {
//     "myName": "jack"
// }

通過以上代碼,我們成功地將Json輸出的格式控制在了一行內,并且每個鍵值對之間使用了4個空格進行縮進。

在golang中,Json導出設置非常方便,能夠幫助我們快速地實現Json字符串定制化輸出。使用Json導出設置,可以讓我們的代碼更加靈活、可維護。