php小編西瓜今天來為大家解答一個關於golang的疑問:「golang中的json'true'不是True嗎?」在golang中,json包裡的Unmarshal函數將JSON資料解析為Go語言結構體時,對於布林類型的值,'true'是不等於True的。這是因為在JSON中,布林類型的值是用小寫的'true'和'false'表示的,而在Go語言中,布林類型的值是用大寫的True和False表示的。這個細微的差別可能會導致一些問題和困惑,因此在使用golang解析JSON資料時,我們需要注意這個差異。
我剛學golang,json轉struct,取得boolean值總是false, 如果我的json「記住」:true,得到的布林值是true,該如何解決? 我的程式碼
package main import ( "encoding/json" "fmt" ) type AdminInfoRequest struct { Id uint `json:"id"` UserName string `json:"username"` Password string `json:"password"` CaptchaId string `json:"captcha_id"` Captcha string `json:"captcha"` Remember bool `json:"remember"` Status uint `json:"status"` GroupId uint `json:"group_id"` OldPassword string `json:"old_password"` RePassword string `json:"re_password"` } func main() { var s AdminInfoRequest j := `{"username":"admin","remember":"true"}` json.Unmarshal([]byte(j), &s) fmt.Println(s.UserName) fmt.Println(s.Remember) }
在 json 中,"true"
是一個字串值。試試這個:
j := `{"username":"admin","remember":true}`
以上是golang json'true'不是True?的詳細內容。更多資訊請關注PHP中文網其他相關文章!