Maison >développement back-end >Golang >golang json « vrai » n'est pas vrai ?

golang json « vrai » n'est pas vrai ?

WBOY
WBOYavant
2024-02-10 12:00:11483parcourir

golang json'true'不是True?

L'éditeur PHP Xigua répondra aujourd'hui à une question sur Golang : "Json'true' dans golang n'est-il pas vrai ?" Dans golang, la fonction Unmarshal du package json analyse les données JSON dans un corps de structure de langage Go, pour le booléen. tapez des valeurs, « true » n'est pas égal à True. En effet, dans JSON, les valeurs de type booléen sont représentées par « vrai » et « faux » minuscules, tandis que dans le langage Go, les valeurs de type booléen sont représentées par vrai et faux en majuscules. Cette différence subtile peut causer des problèmes et de la confusion, nous devons donc y prêter attention lorsque nous utilisons Golang pour analyser les données JSON.

Contenu de la question

Je viens d'apprendre le golang. Lors de la conversion de json en struct, obtenir la valeur booléenne est toujours faux. Si mon json « se souvient » : vrai, la valeur booléenne résultante est vraie, comment la résoudre ? Mon code

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)
}

Solution

En json, "true" est une valeur de chaîne. Essayez ceci :

j := `{"username":"admin","remember":true}`

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer