Maison > développement back-end > Golang > Comment analyser correctement les tableaux JSON dans Go à l'aide du package « json » ?

Comment analyser correctement les tableaux JSON dans Go à l'aide du package « json » ?

Susan Sarandon
Libérer: 2024-11-30 21:52:18
original
299 Les gens l'ont consulté

How to Correctly Parse JSON Arrays in Go Using the `json` Package?

Analyse de tableaux JSON dans Go à l'aide du package JSON

Lorsque vous tentez d'analyser une chaîne représentant un tableau JSON dans Go à l'aide du package json, certains développeurs peuvent rencontrer des erreurs avec la fonction Unmarshal. Cet article fournit une solution et met en évidence des approches alternatives.

Code original :

type JsonType struct {
    Array []string
}

func main() {
    dataJson := `["1","2","3"]`
    arr := JsonType{}
    unmarshaled := json.Unmarshal([]byte(dataJson), &arr.Array)
    log.Printf("Unmarshaled: %v", unmarshaled)
}
Copier après la connexion

Problème :
L'erreur renvoyée par Unmarshal est imprimé à la place du tableau attendu. Pour résoudre ce problème, la fonction Unmarshal doit être modifiée comme suit :

err := json.Unmarshal([]byte(dataJson), &arr)
Copier après la connexion

La valeur de retour d'Unmarshal est une erreur, qui doit être traitée de manière appropriée.

Approche simplifiée :
Pour simplifier le code, la structure JsonType peut être éliminée et une tranche peut être utilisée directement :

package main

import (
    "encoding/json"
    "log"
)

func main() {
    dataJson := `["1","2","3"]`
    var arr []string
    _ = json.Unmarshal([]byte(dataJson), &arr)
    log.Printf("Unmarshaled: %v", arr)
}
Copier après la connexion

Avantages de l'utilisation d'un pointeur (facultatif) :
Passer un pointeur vers la variable dans Unmarshal permet une optimisation de la mémoire et des gains de performances potentiels, notamment dans un traitement contexte où la même variable est réutilisée à plusieurs reprises.

Conclusion :
Par En modifiant la fonction Unmarshal et en utilisant directement une tranche, les développeurs peuvent analyser efficacement les tableaux JSON dans Go à l'aide du package json. L'utilisation d'un pointeur lors du passage de la variable à Unmarshal peut optimiser davantage l'utilisation de la mémoire, en particulier dans les scénarios de traitement.

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