Maison > développement back-end > Golang > le corps du texte

Comment décomposer les chaînes JSON en types Go Scalar personnalisés ?

Susan Sarandon
Libérer: 2024-11-21 12:58:10
original
321 Les gens l'ont consulté

How to Unmarshal JSON Strings into Custom Go Scalar Types?

Désagrégation des chaînes JSON en types scalaires dérivés dans Go

Dans Go, vous pouvez dériver un nouveau type scalaire à partir d'un type existant. Cependant, l'implémentation d'UnmarshalJSON pour de tels types peut être difficile en raison des limitations de la bibliothèque standard.

Pour gérer correctement cela, il est essentiel d'utiliser un récepteur de pointeur pour la méthode UnmarshalJSON. Les récepteurs de valeurs ne conservent pas les modifications apportées au sein de la méthode.

L'argument transmis à UnmarshalJSON est du texte JSON. Cela peut être désorganisé en une chaîne simple, en supprimant toute citation.

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
}
Copier après la connexion

De plus, assurez-vous que les balises JSON de votre code correspondent aux clés des données JSON que vous désorganisez.

json.Unmarshal([]byte(`{"person": "Ralph", "count": 4, "greeting": "Hello"}`), &m);
Copier après la connexion

En suivant ces étapes, vous pouvez implémenter efficacement UnmarshalJSON pour les types scalaires dérivés, permettant la conversion automatique des chaînes JSON en valeurs de votre type personnalisé.

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