php エディタの Xigua が、今日は golang に関する質問に答えます: 「golang の json 'true' は True ではないですか?」 golang では、json パッケージの Unmarshal 関数 JSON データを解析するときGo 言語構造では、「true」はブール型値の True と等しくありません。これは、JSON では Boolean 型の値が小文字の「true」と「false」で表されるのに対し、Go 言語では Boolean 型の値が大文字の True と False で表されるためです。この微妙な違いが問題や混乱を引き起こす可能性があるため、golang を使用して JSON データを解析する場合はこの違いに注意する必要があります。
golangを学び、jsonをstructに変換し、得られるブール値は常に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"
は文字列値です。これを試して:###
リーリー
以上がgolang json 'true' は True ではありませんか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。