Maison >développement back-end >Golang >Comment désorganiser JSON avec des clés dynamiques dans Go ?

Comment désorganiser JSON avec des clés dynamiques dans Go ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-01 19:25:20310parcourir

How to Unmarshal JSON with Dynamic Keys in Go?

Gestion dynamique des clés dans Viper/JSON Unmarshaling

Lorsque vous traitez des données JSON qui s'écartent d'un format prédéterminé, la désorganisation dans Go peut être difficile . Considérons un fichier de configuration JSON avec des clés dynamiques, tel que le suivant :

Pour regrouper ces données dans une structure Go avec des clés dynamiques, une approche consiste à utiliser une carte :

En utilisant map[string]Thing, la structure résultante peut gérer n'importe quel nombre de clés dynamiques. Désorganisez les données en utilisant :

Cette approche permet une désorganisation simple des clés dynamiques dans JSON et Viper (en utilisant viper.Get("things") pour obtenir un tableau de valeurs Thing).

Cependant, si la clé elle-même doit être membre de la structure, une boucle post-unmarshalling peut être utilisée pour mettre à jour la field :

Cela permet d'incorporer la clé dans la structure tout en préservant la nature dynamique d'origine des données JSON.

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!

Déclaration:
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