Maison > développement back-end > Golang > le corps du texte

golang json « vrai » n'est pas vrai ?

WBOY
Libérer: 2024-02-10 12:00:11
avant
443 Les gens l'ont consulté

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)
}
Copier après la connexion

Solution

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

j := `{"username":"admin","remember":true}`
Copier après la connexion

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!

Étiquettes associées:
source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!