Maison  >  Article  >  développement back-end  >  Comment désorganiser le JSON imbriqué avec des clés inconnues et une structure variable ?

Comment désorganiser le JSON imbriqué avec des clés inconnues et une structure variable ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-21 10:37:11905parcourir

How to Unmarshal Nested JSON with Unknown Keys and Variable Structure?

Désorganisation du JSON imbriqué avec des clés inconnues et une structure variable

Dans le JSON fourni, les clés des objets imbriqués représentant différents détails du serveur (par ex. , "Server1.example.com", "Server2.example.com") sont inconnus et peuvent varier. De plus, la structure d'objet imbriquée contient un champ particulier (« nom ») sans clé explicite.

Pour désassembler efficacement ces données JSON, nous avons besoin d'une approche capable de gérer dynamiquement les clés inconnues et la structure d'objet variable.

Une solution viable consiste à utiliser une structure map[string]ServerDetails. Cela nous permet de stocker des paires clé-valeur où les clés correspondent aux noms de serveur (par exemple, "Serveur1.exemple.com", "Serveur2.exemple.com"). Chaque valeur de la carte serait une structure ServerDetails contenant les détails spécifiques au serveur.

La structure révisée ressemblerait à ceci :

type YourStruct struct {
    Success bool
    ResponseMS int
    Servers map[string]*ServerDetails
}

type ServerDetails struct {
    Application string
    Owner string
    [...]
}

Pour désorganiser les données JSON, les étapes suivantes peut être pris :

  1. Désorganisez le JSON dans une structure temporaire map[string]interface{}. Cela préservera les clés inconnues et la structure des objets variables.
  2. Parcourez la carte temporaire et créez une nouvelle structure ServerDetails pour chaque clé inconnue (nom du serveur).
  3. Désorganisez le JSON imbriqué pour chaque serveur. dans la structure ServerDetails respective à l'aide de balises JSON supplémentaires si nécessaire.
  4. Attribuez les structures ServerDetails renseignées à la carte des serveurs dans le YourStruct final.

En adoptant cette approche, nous pouvons réussir à désassembler les données JSON dans un format structuré, même avec des clés inconnues et une structure d'objet variable.

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