Maison > développement back-end > Golang > Comment gérer les champs JSON manquants avec des valeurs par défaut dans Go ?

Comment gérer les champs JSON manquants avec des valeurs par défaut dans Go ?

Patricia Arquette
Libérer: 2024-12-13 05:54:13
original
392 Les gens l'ont consulté

How to Handle Missing JSON Fields with Default Values in Go?

Analyse de JSON avec des valeurs par défaut dans Go

Lors de l'analyse de JSON dans Go et de la rencontre de champs manquants ou non définis, il est souvent souhaitable d'attribuer des valeurs par défaut pour garantir une représentation complète et cohérente des données.

Pour y parvenir en utilisant le package encoding/json intégré, évitez de passer un structure vide vers json.Unmarshal. Au lieu de cela, initialisez la structure avec les valeurs par défaut. 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 les champs A, B et C, respectivement, nous pouvons analyser le JSON string :

{"A": "1", "C": 3}
Copier après la connexion

dans la structure suivante :

out := Test{
    A: "default a",
    B: "default b",
    // C defaults to the empty value ""
}
Copier après la connexion

En appelant json.Unmarshal(exemple, &out), le JSON n'est pas marshalé dans out, remplaçant les champs spécifiés par leurs valeurs du JSON tout en préservant les valeurs par défaut pour les champs restants. L'exemple ci-dessus donnerait {A:1 B:default b C:3}.

Cette technique offre un moyen simple de gérer les champs manquants dans l'analyse des données JSON tout en préservant l'intégrité des données.

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