Maison > développement back-end > Golang > Comment spécifier des valeurs par défaut lors de l'analyse de JSON dans Go ?

Comment spécifier des valeurs par défaut lors de l'analyse de JSON dans Go ?

Mary-Kate Olsen
Libérer: 2024-12-10 16:24:14
original
338 Les gens l'ont consulté

How to Specify Default Values When Parsing JSON in Go?

Spécification des valeurs par défaut dans l'analyse JSON avec Go

Lors de l'analyse des données JSON dans une structure Go, il est souvent souhaitable de spécifier des valeurs par défaut pour champs qui ne sont pas présents dans le JSON. Le package encoding/json intégré fournit un mécanisme simple pour y parvenir.

Lorsque vous appelez json.Unmarshal, au lieu de fournir une structure vide, vous pouvez en fournir une avec des valeurs par défaut. Les champs non présents dans le JSON conserveront leurs valeurs par défaut après la désorganisation.

Par exemple, considérons la structure suivante :

type Test struct {
    A string
    B string
    C string
}
Copier après la connexion

Avec les valeurs par défaut de "a", "b" et "c" pour A, B et C respectivement, l'analyse du JSON ci-dessous renverrait une structure avec la valeur par défaut spécifiée valeurs :

{"A": "1", "C": "3"}
Copier après la connexion
var example []byte = []byte(`{"A": "1", "C": "3"}`)

out := Test{
    A: "default a",
    B: "default b",
    // default for C will be "", the empty value for a string
}
err := json.Unmarshal(example, &out)
if err != nil {
    panic(err)
}
fmt.Printf("%+v", out)
Copier après la connexion

Ce code afficherait :

{A:1 B:default b C:3}
Copier après la connexion

Comme démontré, json.Unmarshal écrase les valeurs spécifiées dans le JSON, tout en laissant les champs non spécifiés avec leurs valeurs par défaut. Cette technique constitue un moyen pratique de gérer les données JSON manquantes ou incomplètes lors de l'analyse en structures.

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal