Maison  >  Article  >  développement back-end  >  Comment intégrer JSON dans une Go Map sans boucles ?

Comment intégrer JSON dans une Go Map sans boucles ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-26 21:33:02195parcourir

 How to Unmarshal JSON into a Go Map without Loops?

Démarrer JSON dans la carte

Cette question aborde le défi du chargement de données JSON dans une carte Go. Plus précisément, un simple fichier JSON contenant un tableau de chaînes est fourni, et l'objectif est de décomposer la liste de fruits en une carte avec des clés de chaîne et des valeurs d'interface {}. La question demande également s'il existe un moyen efficace d'éviter d'utiliser des boucles pour insérer des éléments dans la carte.

Pour répondre à cette question, nous pouvons profiter du puissant package d'encodage/json de Go. En décomposant les données JSON directement dans une chaîne map[string][]string, nous pouvons éviter le besoin d'itération et d'insertion manuelle :

<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, &m)
    if err != nil {
        panic(err)
    }
    fmt.Printf("%v", m["fruits"][0]) //apple
}</code>

Ce code convertit efficacement le JSON en une carte où la clé "fruits" " mappe à une liste de chaînes. Il évite les boucles et l'insertion manuelle, ce qui le rend à la fois concis et performant. Alternativement, vous pouvez également utiliser map[string][]interface{} comme type de cible si vous préférez conserver les valeurs sous forme d'interfaces génériques.

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