Affectation de null aux champs JSON au lieu de chaînes vides dans Golang
Puisque la chaîne vide est la valeur zéro/par défaut pour Golang string
, j'ai décidé de définir tous les champs tels que interface{}
à la place. par exemple
type student struct {
FirstName interface{} `json:"first_name"`
MiddleName interface{} `json:"middle_name"`
LastName interface{} `json:"last_name"`
}
L'application que j'envoie mes données attend une valeur null au lieu d'une chaîne vide si la valeur n'est pas disponible pour ce champ spécifique.
Est-ce la bonne approche ou quelqu'un peut-il me montrer quelque chose de mieux que cela?
24
demandé sur
Prashant
2015-06-25 14:04:14
1 réponses
Dans documentation du paquet json :
Les valeurs du pointeur codent comme la valeur pointée. Un pointeur nil code comme objet JSON null.
Ainsi, vous pouvez stocker un pointeur sur une chaîne qui sera encodée en tant que chaîne sinon nil et sera encodée en tant que "null" si nil
type student struct {
FirstName *string `json:"first_name"`
MiddleName *string `json:"middle_name"`
LastName *string `json:"last_name"`
}
41
répondu
Asdine
2015-06-25 11:18:03