Comment JSON Unmarshal peut-il gérer les types de valeurs dérivés de scalaires dans Go ?
Dans Go, les valeurs scalaires sont souvent utilisées pour représenter des types de données simples comme les entiers et les chaînes. Les types personnalisés dérivés de ces valeurs scalaires peuvent nécessiter un traitement spécial lors du démarshalage JSON pour garantir un mappage précis.
Énoncé du problème
Implémentez la méthode UnmarshalJSON pour un type personnalisé qui étend un entier scalaire en Go. L'objectif est de convertir automatiquement les chaînes JSON entrantes en valeurs de ce type personnalisé.
Solution
Pour surmonter les limitations d'UnmarshalJSON attendant une structure, utilisez les étapes suivantes :
Exemple de mise en œuvre
func (intValue *PersonID) UnmarshalJSON(data []byte) error { var s string if err := json.Unmarshal(data, &s); err != nil { return err } *intValue = Lookup(s) return nil }
Considérations supplémentaires
Avec ces techniques mises en œuvre, vous pouvez efficacement désorganiser les chaînes JSON dans vos types personnalisés dérivés de valeurs scalaires dans Go.
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!