Maison > développement back-end > Golang > le corps du texte

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

DDD
Libérer: 2024-10-30 00:53:28
original
737 Les gens l'ont consulté

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"]}
Copier après la connexion

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
}
Copier après la connexion

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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!