Maison > développement back-end > Golang > Comment analyser des tableaux JSON de cartes dans des structures Go ?

Comment analyser des tableaux JSON de cartes dans des structures Go ?

Barbara Streisand
Libérer: 2024-12-14 00:10:09
original
861 Les gens l'ont consulté

How Do I Parse JSON Arrays of Maps into Go Structs?

Analyse de tableaux JSON dans des structures de données Go

Lorsque vous traitez des données JSON contenant des tableaux, il peut être difficile de choisir la structure de données Go appropriée analyser. Par exemple, si un fichier contient un tableau de paires clé-valeur, les tentatives d'utilisation d'une chaîne map[string] peuvent entraîner une erreur du type "Impossible de transformer le tableau en valeur Go de type main.data."

La solution réside dans l’identification précise de la structure JSON. Bien que l’exemple fourni semble être un tableau, il s’agit en fait d’un tableau de cartes. Le fichier doit plutôt ressembler à ce qui suit pour correspondre à la structure de chaîne map[string] :

{
  "a":"1",
  "b":"2",
  "c":"3"
}
Copier après la connexion

Considérez l'extrait de code suivant qui montre l'analyse d'un tableau de cartes dans une structure Go :

package main

import (
    "encoding/json"
    "fmt"
    "io/ioutil"
    "log"
)

type mytype []map[string]string

func main() {
    var data mytype
    file, err := ioutil.ReadFile("test.json")
    if err != nil {
        log.Fatal(err)
    }
    err = json.Unmarshal(file, &data)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(data)
}
Copier après la connexion

Lorsque vous exécutez ce code avec un fichier JSON valide, il analysera avec succès les données dans la structure souhaitée, vous donnant accès aux paires clé-valeur dans le tableau.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal