"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > 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 ?

Publié le 2024-11-01
Parcourir:955

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 possibilité de les regrouper efficacement dans une carte devient essentielle.

Supposons que vous rencontriez les données JSON suivantes :

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

et visez à charger les "fruits" dans une interface map[string]{}. 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ésassembler 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 de carte 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 faisant référence à la clé de carte : m["fruits" ][0]

Exemple d'implémentation

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{}).

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3