Maison > développement back-end > Golang > Comment analyser un tableau JSON dans Go et gérer efficacement les erreurs potentielles ?

Comment analyser un tableau JSON dans Go et gérer efficacement les erreurs potentielles ?

Patricia Arquette
Libérer: 2024-12-02 13:30:10
original
732 Les gens l'ont consulté

How Do I Parse a JSON Array in Go and Handle Potential Errors Efficiently?

Analyser un tableau JSON dans Go

L'analyse d'un tableau JSON dans Go implique d'utiliser le package json pour interpréter la structure du tableau et extraire ses valeurs.

Considérez l'extrait de code suivant :

type JsonType struct {
  Array []string
}

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

Erreur Gestion

Notez que la fonction Unmarshal renvoie une erreur, qui doit être traitée en conséquence. Dans le code ci-dessus, l'erreur est ignorée, ce qui entraîne un message de journal trompeur. Pour remédier à ce problème, remplacez log.Printf("Unmarshaled: %v", err) par ce qui suit :

if err != nil {
  log.Fatal(err)
}
log.Printf("Unmarshaled: %v", arr)
Copier après la connexion

Simplification de la gestion des tableaux

La structure JsonType peut également être omise, simplifiant davantage le code :

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

Ce code optimisé réduit les allocations de mémoire et améliore la clarté du code. L'utilisation d'un pointeur lors du démarshalage permet une gestion efficace de la mémoire, notamment dans les contextes de traitement où plusieurs démarshals peuvent se produire sur la même variable.

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