Maison >développement back-end >Golang >Comment Unmarshall JSON dans une `map[string]interface{}` sans utiliser de boucles ?

Comment Unmarshall JSON dans une `map[string]interface{}` sans utiliser de boucles ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-27 08:58:30744parcourir

How to Unmarshall JSON into a `map[string]interface{}` Without Using Loops?

Dévoiler les secrets de la désorganisation de JSON dans une carte

Dans le monde de l'analyse JSON, le chargement efficace des données dans une structure de données appropriée est crucial . Une tâche couramment rencontrée consiste à désorganiser les données JSON dans une interface map[string]{}, en particulier lorsqu'il s'agit de grands volumes de chaînes.

Problème :
Étant donné un simple fichier JSON contenant un tableau de chaînes, l'objectif est de remplir une map[string]interface{} sans recourir à une itération et une insertion explicites à l'aide d'une boucle.

Solution :
Pour y parvenir, exploitez la puissance de encoding/json.Unmarshal. Cette fonction polyvalente fournit une solution élégante en désorganisant directement les données JSON dans la structure de carte souhaitée.

Exemple :

<code class="go">package main

import "fmt"
import "encoding/json"

func main() {
    src_json := []byte(`{"fruits":["apple","banana","cherry","date"]}`)
    var m map[string][]string
    err := json.Unmarshal(src_json, &amp;m)
    if err != nil {
        panic(err)
    }
    fmt.Printf("%v", m["fruits"][0]) //apple
}</code>

Cet extrait de code désorganise de manière transparente les données JSON. dans la chaîne map[string][]string sans aucun traitement intermédiaire. En utilisant cette approche, vous pouvez charger efficacement de grands ensembles de données JSON sans avoir besoin de boucles explicites ni d'insertion manuelle.

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