Maison >développement back-end >Golang >Comment désorganiser efficacement JSON dans une carte sans itération de boucle ?

Comment désorganiser efficacement JSON dans une carte sans itération de boucle ?

DDD
DDDoriginal
2024-10-30 00:53:28808parcourir

How to Efficiently Unmarshal JSON into a Map Without Loop Iteration?

Décomposer efficacement JSON dans une carte

Dans le domaine de la programmation, l'analyse des données provenant de sources externes joue un rôle crucial. Lorsqu'il s'agit de JSON, un format de données omniprésent, la capacité de les regrouper efficacement dans une carte devient essentielle.

Supposons que vous rencontriez les données JSON suivantes :

{"fruits":["apple","banana","cherry","date"]}

et que vous visiez à charger le "fruits" dans une map[string]interface{}. L'approche conventionnelle consiste à parcourir chaque élément et à l'insérer dans une carte via une boucle. Cependant, il existe une méthode plus efficace qui élimine le besoin d'itération de boucle.

Démarrage direct sans itération

Pour désorganiser les données JSON directement dans la carte souhaitée sans boucle manuelle itération, suivez ces étapes :

  1. Importez le package nécessaire : import "encoding/json"
  2. Définissez une variable map pour recevoir les données non marshalées : var m map[string][] string
  3. Utilisez json.Unmarshal pour désorganiser les données JSON dans la variable de carte : json.Unmarshal(src_json, &m)
  4. Accédez aux données non marshalées en référençant la clé de carte : m["fruits" ][0]

Exemple de mise en œuvre

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
}

Remarque : Cette approche suppose que les valeurs JSON sont toutes des chaînes. Si les valeurs sont d'un type différent, vous devrez peut-être modifier le type de carte en conséquence (par exemple, map[string][]interface{}).

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