Maison > développement back-end > Golang > Comment omettre les structures imbriquées vides dans Go JSON Marshal ?

Comment omettre les structures imbriquées vides dans Go JSON Marshal ?

Patricia Arquette
Libérer: 2024-12-16 02:41:14
original
595 Les gens l'ont consulté

How to Omit Empty Nested Structs in Go JSON Marshal?

Go JSON Marshal : Omettre les structures imbriquées vides

La balise json:",omitempty" dans Go vous permet d'exclure les champs qui ont des champs vides. valeurs de la sortie JSON. Cependant, ce comportement ne s'applique pas aux structures de valeur nulle.

Pour omettre une structure imbriquée si elle comporte des champs vides, vous pouvez utiliser un pointeur au lieu d'une structure sans pointeur. Cela garantit que la structure est traitée comme vide si aucune valeur non nulle ne lui a été attribuée.

Par exemple, considérons la structure suivante :

type ColorGroup struct {
    ID     int `json:",omitempty"`
    Name   string
    Colors []string
}

type Total struct {
    A *ColorGroup `json:",omitempty"` // Use pointer
    B string       `json:",omitempty"`
}
Copier après la connexion

Dans ce cas, si le groupe .A ne reçoit pas de valeur non nulle, il sera traité comme vide et omis de la sortie JSON. Cela contraste avec l'utilisation d'une structure sans pointeur, qui inclurait toujours le group.A vide dans la sortie JSON.

Le lien de terrain de jeu suivant démontre ce comportement : https://play.golang.org/p /3i7rh4e3t3D

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