Maison > développement back-end > Golang > Comment analyser efficacement des structures JSON complexes en Go à l'aide de « json.Unmarshal » ?

Comment analyser efficacement des structures JSON complexes en Go à l'aide de « json.Unmarshal » ?

Linda Hamilton
Libérer: 2024-12-19 21:50:10
original
960 Les gens l'ont consulté

How to Efficiently Parse Complex JSON Structures in Go Using `json.Unmarshal`?

Analyse du JSON complexe avec Go's Unmarshal

Le package encoding/json fournit la fonction json.Unmarshal pour analyser les données JSON. Cette fonction peut être utilisée pour transformer une chaîne JSON en une structure prédéfinie ou une valeur d'interface{}.

Lorsqu'il s'agit de structures JSON complexes pouvant inclure des tableaux et des objets imbriqués, l'utilisation de l'interface{} permet aux développeurs de gérer les imprévus. structures de données. Par exemple, considérons le JSON suivant :

{
  "k1": "v1",
  "k2": "v2",
  "k3": 10,
  "result": [
    [
      ["v4", "v5", {"k11": "v11", "k22": "v22"}],
      ...
    ],
    "v3"
  ]
}
Copier après la connexion

Pour analyser ce JSON, nous pouvons utiliser l'extrait de code suivant :

import (
  "encoding/json"
  "fmt"
)

func main() {
  b := []byte(`{
     "k1" : "v1", 
     "k2" : "v2", 
     "k3" : 10, 
     "result" : [
                 [
                 ["v4", v5, {"k11" : "v11", "k22" : "v22"}]
                 , ... , 
                 ["v4", v5, {"k33" : "v33", "k44" : "v44"}
                 ]
                 ], 
                 "v3"
                ] 
}`)
  var f interface{}
  err := json.Unmarshal(b, &f)
  if err != nil {
    fmt.Println("Error:", err)
  }

  // Access the data in the interface{} value
  m := f.(map[string]interface{})
  fmt.Println("k1:", m["k1"])
  fmt.Println("k3:", m["k3"])
  for _, v := range m["result"].([]interface{}) {
    fmt.Println("Element:", v)
  }
}
Copier après la connexion

En parcourant la carte et en utilisant un commutateur de type, nous pouvons accéder aux valeurs avec les types corrects. Cette approche nous permet de travailler avec des structures JSON inconnues de manière flexible et sécurisée.

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