首頁 > 後端開發 > Golang > 主體

golang json'true'不是True?

WBOY
發布: 2024-02-10 12:00:11
轉載
443 人瀏覽過

golang json\'true\'不是True?

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中文網其他相關文章!

相關標籤:
來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!